{
  "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "serialNumber": "urn:uuid:badc8cd7-6951-58c4-bd65-6e49d9bdeea4",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-21T14:25:50+00:00",
    "lifecycles": [
      {
        "phase": "build"
      }
    ],
    "tools": {
      "components": [
        {
          "type": "application",
          "name": "javac",
          "version": "17.0.18"
        },
        {
          "type": "application",
          "name": "d8 (Android build-tools 34.0.0)",
          "version": "8.2.2-dev"
        },
        {
          "type": "application",
          "name": "apksigner",
          "version": "0.9"
        },
        {
          "type": "application",
          "name": "android.jar (platforms/android-34)",
          "version": "API 34"
        },
        {
          "type": "application",
          "name": "zip (Info-ZIP)",
          "version": "3.0"
        },
        {
          "type": "application",
          "name": "python3",
          "version": "3.11.2"
        },
        {
          "type": "application",
          "name": "tools/make-sbom.py",
          "version": "feadb56c"
        }
      ]
    },
    "supplier": {
      "name": "Atendu, Inh. Rico Kirsten",
      "url": [
        "https://atendu.eu"
      ],
      "contact": [
        {
          "email": "security@atendu.eu"
        }
      ]
    },
    "manufacture": {
      "name": "Atendu, Inh. Rico Kirsten",
      "url": [
        "https://atendu.eu"
      ],
      "contact": [
        {
          "email": "security@atendu.eu"
        }
      ]
    },
    "component": {
      "bom-ref": "app:com.atendu.launcher@6.28+96",
      "type": "application",
      "name": "Atendu Launcher (com.atendu.launcher)",
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Kiosk- und Aufruf-Software des Atendu Mini: Android-App mit eingebettetem HTTP-Server (Port 3000), WebView-Kiosk und gebuendelten Web-Frontends.",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "b64f988a2751f07b1c86d6c44559f6aa5eb9846c1e11fe240430a1fe79e66952"
        }
      ],
      "properties": [
        {
          "name": "atendu:versionCode",
          "value": "96"
        },
        {
          "name": "atendu:git-commit",
          "value": "feadb56c"
        },
        {
          "name": "atendu:git-worktree-dirty",
          "value": "true"
        },
        {
          "name": "atendu:apk-file",
          "value": "build/atendu-launcher.apk"
        },
        {
          "name": "atendu:signing-cert-sha256",
          "value": "55f9f80bd80ac39d86458e43e8e892a0ae4de37445e27701a294bfd88aaf08ec"
        }
      ]
    }
  },
  "components": [
    {
      "bom-ref": "file:AndroidManifest.xml",
      "type": "file",
      "name": "AndroidManifest.xml",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "68cee109bf6557fac32a0fc97bf6e55771cea727b1c50b4f7f8fb78061cba6c5"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "4824"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Binaeres Manifest/Ressourcen (launcher/base, Version per build.sh gestempelt)."
    },
    {
      "bom-ref": "file:assets/control.html",
      "type": "file",
      "name": "assets/control.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "d53e8b1dec118ea3908e56c982e54f477425d5d6952472ec54003d25beb4ce29"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "38984"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:assets/display.html",
      "type": "file",
      "name": "assets/display.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "e52b06765a9e601a3e8b84563e6fb7fe93a70533bde23ea2f0a1f2f1fa1d245f"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "55827"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:assets/logo-dark.png",
      "type": "file",
      "name": "assets/logo-dark.png",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "f53d803f6b63aa5de5cdcaa455b680ecd20c94c0cdbd67ab2a9005d98f5da979"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "74544"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      }
    },
    {
      "bom-ref": "file:assets/logo-light.png",
      "type": "file",
      "name": "assets/logo-light.png",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "b837a0de14371d50b299d14883bfadbac6ca72ddbc86f76d7f00441272695dfa"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "64190"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      }
    },
    {
      "bom-ref": "file:assets/mirror.html",
      "type": "file",
      "name": "assets/mirror.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "b4a5a2d556ccf141a85384440f8a7ba46693f4d6abf6efa0eaf878c873e5317c"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "36330"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:assets/offline.html",
      "type": "file",
      "name": "assets/offline.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "e589541bf704e8f52beb67693af201676d431c849c32d573d5badb030756fc09"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "10815"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:assets/pair.html",
      "type": "file",
      "name": "assets/pair.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "6810a74452af61d15e2100f25c18a7afe6774a6640c1982d5509dc836c5ffd2a"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "43426"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:assets/roboto-latin.woff2",
      "type": "file",
      "name": "assets/roboto-latin.woff2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "1404ca348bd75ef836f4dd8b6f2cc719458642d1237c368296b2fc652dca47dc"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "43136"
        },
        {
          "name": "atendu:origin",
          "value": "third-party"
        }
      ],
      "version": "unversioned subset",
      "supplier": {
        "name": "Google (Christian Robertson)"
      },
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0"
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://github.com/googlefonts/roboto"
        }
      ],
      "description": "Roboto (latin subset, woff2)"
    },
    {
      "bom-ref": "file:assets/settings.html",
      "type": "file",
      "name": "assets/settings.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "a99f91576e503a7c0b5cf9730784ccce3f1d0ac44db893154345b33b67209a58"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "177813"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:assets/setup.html",
      "type": "file",
      "name": "assets/setup.html",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "df611b982da1c08b875aa4e516ca3ac77ed618fcdf0efc88a246c18922f0a535"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "106442"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Web-Frontend, in der APK gebuendelt, vom eingebetteten Server ausgeliefert."
    },
    {
      "bom-ref": "file:classes.dex",
      "type": "file",
      "name": "classes.dex",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "631a37d569ca8e73d39a7c044e21952265a4f9604fbdcfac641967ff314cc86b"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "210260"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Kompilierter Atendu-Java-Code (launcher/src/com/atendu/launcher/*.java: AtenduServer, BootReceiver, ClockSync, DiscoveryService, EventLog, FileLogger, MainActivity, MirrorState, WifiSetupManager); keine Fremdbibliotheken, nur Android-SDK-APIs (android.jar, API 34)."
    },
    {
      "bom-ref": "file:res/xml/network_security_config.xml",
      "type": "file",
      "name": "res/xml/network_security_config.xml",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "e130d8da1c72fb8813ba2db3ee86d7d0d241959f322a84c9961bc22d54f33472"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "472"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      }
    },
    {
      "bom-ref": "file:resources.arsc",
      "type": "file",
      "name": "resources.arsc",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "e6ed7d981ea6a62927c1155412d5d8d6d53894f76a6cf7b9f9c430a8a3a52474"
        }
      ],
      "properties": [
        {
          "name": "atendu:size-bytes",
          "value": "788"
        },
        {
          "name": "atendu:origin",
          "value": "first-party"
        }
      ],
      "version": "6.28",
      "supplier": {
        "name": "Atendu, Inh. Rico Kirsten",
        "url": [
          "https://atendu.eu"
        ],
        "contact": [
          {
            "email": "security@atendu.eu"
          }
        ]
      },
      "description": "Binaeres Manifest/Ressourcen (launcher/base, Version per build.sh gestempelt)."
    },
    {
      "bom-ref": "lib:qrcodejs",
      "type": "library",
      "name": "qrcodejs (QRCode.js)",
      "version": "unversioned inline copy",
      "supplier": {
        "name": "davidshimjs"
      },
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://github.com/davidshimjs/qrcodejs"
        }
      ],
      "description": "Minifiziert in mehreren HTML-Assets eingebettet; keine separate Datei. Enthalten in: assets/display.html, assets/mirror.html, assets/pair.html, assets/settings.html, assets/setup.html",
      "properties": [
        {
          "name": "atendu:origin",
          "value": "third-party"
        }
      ]
    },
    {
      "bom-ref": "os:android-bsp-rk3528",
      "type": "operating-system",
      "name": "Android 14 (API 34) BSP fuer Rockchip RK3528 (BOXPUT S13 Air)",
      "version": "Boxput-Firmware F1010 (Charge 0) / E1010.667 (Charge 1, Basis 260909)",
      "supplier": {
        "name": "Boxput / Shenzhen Hugsun Technology (OEM), Rockchip (SoC)"
      },
      "description": "Betriebssystem, Kernel, WLAN-/BT-Stack und WebView des Sticks. Nicht unter Atendu-Kontrolle; Patch-Lage und Kompensation in docs/compliance/CRA-EXPOSURE-ANALYSE.md. Kiosk-Haertung (Paket-Deaktivierung, ADB/BT-Defaults) via image-build/atendu-master/atendu-firstboot.sh."
    }
  ],
  "dependencies": [
    {
      "ref": "app:com.atendu.launcher@6.28+96",
      "dependsOn": [
        "file:AndroidManifest.xml",
        "file:assets/control.html",
        "file:assets/display.html",
        "file:assets/logo-dark.png",
        "file:assets/logo-light.png",
        "file:assets/mirror.html",
        "file:assets/offline.html",
        "file:assets/pair.html",
        "file:assets/roboto-latin.woff2",
        "file:assets/settings.html",
        "file:assets/setup.html",
        "file:classes.dex",
        "file:res/xml/network_security_config.xml",
        "file:resources.arsc",
        "os:android-bsp-rk3528"
      ]
    },
    {
      "ref": "file:assets/display.html",
      "dependsOn": [
        "lib:qrcodejs"
      ]
    },
    {
      "ref": "file:assets/mirror.html",
      "dependsOn": [
        "lib:qrcodejs"
      ]
    },
    {
      "ref": "file:assets/pair.html",
      "dependsOn": [
        "lib:qrcodejs"
      ]
    },
    {
      "ref": "file:assets/settings.html",
      "dependsOn": [
        "lib:qrcodejs"
      ]
    },
    {
      "ref": "file:assets/setup.html",
      "dependsOn": [
        "lib:qrcodejs"
      ]
    }
  ]
}
