Sicherheit

Unser Sicherheitsmodell in einem Satz: Es gibt nichts auf einem Server, das angegriffen werden könnte. Alles Folgende ist über Ihre DevTools nachprüfbar.

Architektur

Abundera QR ist eine statische Single-Page-Anwendung, die von Cloudflare Pages bereitgestellt wird. Es gibt keinen Anwendungsserver, keine Datenbank, keine Benutzerkonten, keine Authentifizierung, keine API-Endpunkte und keinen Backend-Code-Pfad, der Benutzerdaten verarbeitet. Jede QR-Generierungs-, Kodierungs-, Scan- und Rendering-Operation läuft vollständig in Ihrem Browser.

Bedrohungsmodell

Da wir keine Benutzerdaten erfassen, speichern oder übertragen, gelten die häufigsten Web-App-Bedrohungen — Credential-Diebstahl, Datenbankeinbruch, Session-Hijacking, serverseitige Injection — nicht. Die verbleibende Angriffsfläche ist das statische Asset-Bundle (HTML, CSS, JavaScript), das von unserem Ursprung bereitgestellt wird. Wir entwickeln unter der Annahme:

Content Security Policy — nach Direktive

Die aktuelle Richtlinie (prüfen Sie die Antwort-Header bei jeder Anfrage):

Content-Security-Policy:
  default-src 'self';
  script-src 'self' 'wasm-unsafe-eval';
  worker-src 'self' blob:;
  style-src 'self' 'unsafe-inline';
  font-src 'self';
  img-src 'self' data: blob: https:;
  connect-src 'self' https:;
  frame-ancestors 'none';
  base-uri 'self';
  form-action 'self'

Was jede Direktive uns erlaubt zu tun und wo sie Kompromisse eingeht:

Für /bio/* (gelockertes img-src für vom Benutzer bereitgestellte Avatare) und /embed/* (gelockertes frame-ancestors für absichtliches Einbetten) gelten andere CSP-Richtlinien. Beide sind in site/_headers dokumentiert.

Transport- und Framing-Header

Service Worker

Unser Service Worker (site/sw.js) cached nur same-origin Assets. Der fetch-Handler lehnt Cross-Origin-Anfragen und Nicht-GET-Methoden explizit ab — Sie können die Logik auf GitHub lesen. Cache-Schreibvorgänge sind in event.waitUntil() eingebettet, damit sie nicht mitten in einer Navigation verworfen werden können.

Eingabe-Sanitisierung

Jeder Rendering-Pfad, der Benutzereingaben akzeptiert, behandelt sie als nicht vertrauenswürdigen Text:

Cross-Origin-Bildabruf

Wenn ein Benutzer eine https:-URL als vCard-Foto oder Logo einfügt, ruft der Browser sie gemäß CORS und der img-src-Allowlist unserer CSP ab. Das Bild wird in ein Canvas gerendert. Es wird nie zu aktivem DOM, wird nie als Code ausgeführt und erreicht nie unseren Ursprung — der Abruf erfolgt Browser → Remote-Bild, und das Ergebnis wird clientseitig gerendert. Ein Angreifer, der eine Remote-Bild-URL kontrolliert, kann nachverfolgen, dass die URL geladen wurde (eine Log-Zeile auf seinem eigenen Server), kann aber nichts von unserer Seite exfiltrieren.

Subresource Integrity (SRI)

Alles JavaScript und CSS, das wir ausliefern, ist same-origin. Wir laden keine Skripte oder Stylesheets von Drittanbietern, daher sind SRI-Hashes nicht anwendbar. Wenn wir jemals ein Drittanbieter-Asset laden, werden wir ein SRI-integrity-Attribut daran anbringen und den Hash-Aktualisierungsprozess auf dieser Seite dokumentieren.

Eine Schwachstelle melden

Wenn Sie ein Sicherheitsproblem entdecken, das Abundera QR betrifft — sei es in unserem Code, unserer Bereitstellung oder einer Abhängigkeit, die wir ausliefern — melden Sie es bitte vertraulich an security@abundera.ai. Wir streben eine Triage innerhalb von 72 Stunden an. Sie können uns auch über die Kontaktdaten in unserer /.well-known/security.txt-Datei erreichen.

Kein Bug-Bounty-Programm (noch nicht)

Wir bieten derzeit keine bezahlten Prämien an, aber jeder bestätigte gültige Bericht erhält eine Erwähnung im Changelog und unseren öffentlichen Dank.

Überprüfen Sie das oben Genannte

Jede Behauptung auf dieser Seite ist über die DevTools Ihres Browsers falsifizierbar, ohne uns vertrauen zu müssen:

Kontakt

Sicherheitsmeldungen: security@abundera.ai

Zuletzt aktualisiert: 2026-04-19. Nächste Überprüfung: 2026-07-19.