Sicherheit und Architektur
Zuletzt aktualisiert: 16. Oktober 2026
Dies ist eine Übersetzung; rechtlich maßgeblich ist der französische Text.
Bouraq ist ein Dienst von Intelectra. Diese Seite richtet sich an die Sicherheitsteams, die Bouraq vor dem Einsatz freigeben müssen. Sie beschreibt das System so, wie es heute funktioniert, einschließlich seiner Grenzen. Fragen, die diese Seite nicht beantwortet: contact@getbouraq.com. Für die Freigabe fassen die Freigabeunterlagen Datenflüsse, Kontrollen, Pilotbetrieb und Formulare zusammen.
Auf einen Blick
- Hinweg per Licht: Bouraq Prism, eine HTML-Datei, die direkt vom Datenträger geöffnet wird, verschlüsselt Dateien mit dem Schlüssel des Kontos und zeigt sie als QR-Codes an; eine erlaubte Kamera liest sie und sendet sie an den Bereich des Kontos, wo sie zusammengesetzt und geprüft werden (sha256).
- Rückweg über einen Kanal Ihrer Wahl: das private GitHub- oder GitLab-Repository des Nutzers oder ein USB-Stick. Dieser Weg läuft nie über unsere Server.
- Nichts zu installieren, kein Netzwerkzugang geöffnet: kein Agent, keine ausführbare Datei, keine Synchronisierung im Hintergrund. Der Offline-PC sendet nur Licht aus.
- Derzeit keine Ende-zu-Ende-Verschlüsselung: Unser Server verwahrt den Schlüssel jedes Kontos und entschlüsselt die Dateien, um sie zusammenzusetzen. Siehe „Was unser Server sieht“.
- Hosting in der Europäischen Union: Hetzner, Rechenzentrum in Helsinki (Finnland).
Datenfluss
Hinweg (Offline-PC → Bereich des Nutzers):
- Auf dem Offline-PC komprimiert Prism die Dateien (zlib), verschlüsselt sie einschließlich des Dateinamens mit dem Schlüssel des Kontos (XSalsa20-Poly1305) und teilt sie dann in nummerierte QR-Codes mit Integritätsprüfung auf.
- Die Bouraq-App liest die Codes mit der Kamera eines Telefons oder der Webcam eines Computers und sendet sie per HTTPS an den Server, verknüpft mit dem angemeldeten Konto.
- Der Server setzt den Datenstrom zusammen, entschlüsselt ihn mit dem Schlüssel des Kontos, prüft den sha256-Fingerabdruck und legt die Datei im Bereich des Kontos ab.
- Auf dem persönlichen PC lädt der Nutzer die Datei in einem Browser aus seinem Bereich herunter.
Rückweg (persönlicher PC → Offline-PC): Prism packt den geänderten Ordner in eine einzige Textdatei (Repomix) und überträgt sie in das private Repository des Nutzers oder speichert sie für einen USB-Stick. Auf dem Offline-PC prüft Prism jeden Pfad vor dem Schreiben und löscht nie eine Datei. Dieser Weg berührt unsere Server nicht.
Was unser Server sieht
Um eine Übertragung zusammenzusetzen und zu prüfen, entschlüsselt der Server sie: Er sieht also die Datei, ihren Namen und ihre Größe. Die Datei wird nach ihrem Eingang bis zu 7 Tage im Bereich des Kontos aufbewahrt und dann gelöscht; mit der Option „Delete after download“ wird sie gelöscht, sobald sie vollständig heruntergeladen ist, und es bleiben nur ihr Name, ihre Größe, ihr Fingerabdruck und ihre Quittung; eine Übertragung, die das Kontingent überschreitet, wird gelöscht, sobald sie abgeholt ist, spätestens aber nach 24 Stunden. Die Anwendung nimmt keine Verschlüsselung ruhender Daten für sich in Anspruch.
Der Server sieht nie: den Rückweg (privates Repository oder USB-Stick), das Zugriffstoken für GitHub oder GitLab oder Dateien auf dem Offline-PC, die der Nutzer nicht ausgewählt hat.
Wenn Ihre Organisation verlangt, dass Inhalte nie für Dritte lesbar sind, kann Bouraq auf einem Server unter Ihrer Kontrolle betrieben werden: Schreiben Sie uns.
Kryptografie und Konten
- Verschlüsselung der Übertragungen: XSalsa20-Poly1305 (TweetNaCl secretbox), ein zufälliger 32-Byte-Schlüssel pro Konto, eine zufällige 24-Byte-Nonce pro Übertragung. Ein fotografierter QR-Code verrät ohne den Schlüssel nichts über den Inhalt.
- Versionierter Schlüssel: Wird Prism in der App erneuert, ändert sich der Schlüssel, und der Server lehnt danach frühere Kopien ab.
- Integrität: eine Prüfung pro Code und ein sha256-Fingerabdruck der gesamten Datei, der geprüft wird, bevor die Datei bereitgestellt wird.
- Transport: nur HTTPS (TLS 1.2 und 1.3, Zertifikate von Let's Encrypt).
- Passwörter: scrypt-Hashes; Anmeldeversuche sind in ihrer Häufigkeit begrenzt. Browsersitzung über ein Cookie mit HttpOnly, Secure und SameSite=Lax, höchstens 30 Tage gültig.
- Zwei-Faktor-Authentifizierung (TOTP, RFC 6238) für jedes Konto, mit jeder Authenticator-App; eine Organisation kann sie für ihre Administratoren vorschreiben. Auch ein Token für die Kommandozeile erfordert den Code.
Die Datei Bouraq Prism
Prism ist eine einzige HTML-Datei von etwa 490 KB, die der Nutzer direkt vom Datenträger öffnet. Ihr Team kann sie vor dem Einsatz lesen: Der gesamte Code steht in der Datei.
- Content Security Policy:
default-src 'none'; die einzigen erlaubten Verbindungen sindapi.github.comundgitlab.com, und nur, wenn der Nutzer den Rückweg über ein privates Repository nutzt. - Vor jedem Hochladen oder Abrufen fragt Prism beim Anbieter nach, ob das Repository privat ist, und lehnt ein öffentliches oder internes Repository ab.
- Mitgelieferte Bibliotheken, in festen Versionen und per Hash geprüft: pako 2.1.0, fflate 0.8.2, qrcode-generator 1.4.4, js-sha256 0.11.1, TweetNaCl 1.0.3.
- Die personalisierte Kopie enthält den Schlüssel des Kontos: Bewahren Sie sie wie Zugangsdaten auf.
- Prüfen Sie die Kopie, bevor Sie sie hineinbringen: Ihr Bereich zeigt den SHA-256-Fingerabdruck Ihrer Kopie (
certutil -hashfile <file> SHA256unter Windows,shasum -a 256unter macOS,sha256sumunter Linux). Jede ausgegebene Kopie wird mit diesem Fingerabdruck und ihrer Schlüsselversion im Audit-Trail erfasst; auch eine Schlüsselerneuerung wird dort erfasst und widerruft die älteren Kopien. - Signierte Version: Die Instanz veröffentlicht die signierte Erklärung zur Vorlage jeder Prism-Version (/.well-known/bouraq-prism.json). Der Befehl
bouraq-verify.py prismdes Prüfskripts entfernt aus einer Kopie deren einzige Kontozeile und weist nach, dass alles Übrige Byte für Byte genau dieser Code ist, ohne den Schlüssel jemals auszugeben. - Jeder Code, den Prism anzeigt, trägt unter seiner Nummer das Konto und die ersten 8 Zeichen des sha256-Fingerabdrucks der Datei, desselben wie im Audit-Trail: Eine autorisierte Übertragung ist am Bildschirm erkennbar, und eine unauffällige Nutzung wäre für Kollegen sichtbar.
Hosting und Unterauftragsverarbeiter
- Hetzner Online GmbH: Server, Datenbank und Dateien, Rechenzentrum in Helsinki (Finnland, EU).
- Cloudflare, Inc.: Domainnamen und Empfang der E-Mails an contact@getbouraq.com.
- Stripe: Zahlung und Abonnement; Kartendaten erreichen uns nie.
- Google Workspace: unser Postfach, in dem Ihre E-Mails ankommen.
- Die Reichweitenmessung läuft auf unserem eigenen Server, ohne externes Tracking-Tool.
Einzelheiten zu Daten und Aufbewahrungsfristen stehen in der Datenschutzerklärung.
Governance und autorisierte Nutzung
Bouraq ist ein neutraler Übertragungskanal: Er nutzt keine Schwachstelle aus und deaktiviert keine Kontrolle. Unsere Nutzungsbedingungen erlauben nur, Inhalte zu übertragen, zu deren Weitergabe der Nutzer berechtigt ist.
- Jede Übertragung gehört zu einem benannten Konto, trägt einen Zeitstempel und ist über ihren sha256-Fingerabdruck identifiziert.
- Hinterlegte Genehmigung: Jedes Konto hält fest, wer es berechtigt hat, Daten hinauszubringen, mit der Rolle dieser Person, dem Umfang und dem Zeitraum. Die Genehmigung wird im Audit-Trail erfasst, begleitet jede zugestellte Übertragung und erscheint auf deren Quittung; eine Organisation kann jede Übertragung ohne gültige Genehmigung ablehnen.
- Manipulationserkennbarer Audit-Trail der Übertragungen (jeder Eintrag versiegelt den vorherigen per Hash): Zustellungen, Fehlschläge mit ihrem Grund und Downloads, mit Konto, Dateiname, Größe, sha256 und Uhrzeit, nie mit dem Inhalt. Ihr Administrator exportiert ihn als CSV oder JSON Lines für Ihr SIEM, und jedes Konto exportiert seine eigenen Einträge (für den Kunden, dessen Dateien hinausgegangen sind); Aufbewahrung 365 Tage.
- Eine signierte Quittung für jede zugestellte Datei: Name, Größe, sha256, Konto, Uhrzeit, Schlüsselversion und der zugehörige Eintrag im Audit-Trail, signiert mit dem Ed25519-Schlüssel der Instanz. Ein Auditor, ein Kunde oder ein Gericht prüft sie ohne uns, mit dem öffentlichen Schlüssel unter /.well-known/bouraq-receipt-key; schon ein einziges geändertes Byte macht die Signatur ungültig.
- Ohne uns überprüfbar: ein eigenständiges Skript (Python, nur Standardbibliothek, ohne Netzwerk) prüft einen Export des Audit-Trails und die Signatur einer Quittung und vergleicht eine Datei mit ihrer Quittung.
- Freigabe jeder Übertragung (Option für Organisationen): Eine eingegangene Datei wartet, bis ein Administrator der Organisation, der nicht ihr Absender ist, sie mit Begründung freigibt oder ablehnt; eine Ablehnung löscht die Datei. Jede Entscheidung wird signiert: Die freigebende Person gibt ihr Passwort erneut ein, und ihren Code, wenn sie einen zweiten Faktor hat; die Entscheidung wird mit der Art ihrer Signatur im Audit-Trail erfasst.
- Zugelassene Dateitypen (Option für Organisationen): Nur die Typen, die Sie benennen, dürfen hinaus; ein als ZIP gesendeter Ordner wird Datei für Datei geprüft, ohne ihn zu entpacken. Eine abgelehnte Datei wird nie geschrieben, und die Ablehnung wird mit ihrem Grund im Audit-Trail erfasst. Die Prüfung gilt den deklarierten Dateitypen; sie ist kein Malware-Scan. Eine Organisation kann außerdem medizinische Bilder (DICOM, Patientendaten) ablehnen lassen, die an ihrem Inhalt erkannt werden, auch wenn sie umbenannt oder in ein ZIP-Archiv gepackt wurden, sowie Textdateien mit einem Schutzvermerk (Diffusion Restreinte, VS-NfD, OFFICIAL-SENSITIVE, CUI…): ein Sicherheitsnetz gegen Fehler, kein Klassifizierungssystem.
- Jede Richtung wird einzeln freigegeben (Option für Organisationen): Der Export kann allein freigeschaltet werden; ausgegebene Prism-Kopien bieten dann nur „Send out“, ohne „Pack & send back“ oder „Bring back“, und der Rückkanal des Servers ist geschlossen. Der Rückweg über Repository oder USB-Stick berührt unsere Server nie, daher bleibt Ihre Richtlinie für Datenträger und Repositorys die maßgebliche Kontrolle.
- Benannte, widerrufbare Geräte: Jedes angemeldete Telefon und jeder angemeldete Browser erscheint mit einem Namen (änderbar, etwa „Diensthandy“) und der letzten Nutzung; jede Übertragung hält das Gerät fest, das sie übermittelt hat, im Audit-Trail und auf ihrer Quittung; ein verlorenes Gerät wird mit einem Klick abgemeldet.
- Der Administrator einer Instanz legt Konten an, setzt Kontingente fest, erneuert Schlüssel und meldet eine Sitzung aus der Ferne ab. Im gemeinsamen Dienst hat eine Organisation eigene Administratoren: Sie fügen Kollegen im Rahmen ihrer Nutzerplätze hinzu und entfernen sie, ändern Rollen, sehen für jedes Mitglied die letzte Nutzung, die Geräte, den zweiten Faktor und die hinterlegte Genehmigung und legen ihre eigene Übertragungsrichtlinie fest (Freigabe, Dateitypen, hinterlegte Genehmigung, Richtungen, zweiter Faktor), nie lockerer als die des Dienstes; jede Änderung wird im Audit-Trail erfasst, dessen eigenen Teil die Organisation für ihr SIEM exportiert (CSV, JSON Lines). Eine Überprüfung der Zugangsrechte markiert Mitglieder ohne zweiten Faktor, seit 90 Tagen inaktive Mitglieder und Mitglieder ohne gültige Genehmigung, und die abgeschlossene Überprüfung wird im Audit-Trail festgehalten.
- Für eine Organisation: eine eigene Instanz oder eine Installation auf Ihren eigenen Servern, auf Anfrage.
Eine Schwachstelle melden
Schreiben Sie an contact@getbouraq.com und beschreiben Sie das Problem; wir antworten schnell und halten Sie über die Behebung auf dem Laufenden. Bitte greifen Sie nicht auf Daten anderer Nutzer zu. Maschinenlesbarer Kontakt: /.well-known/security.txt.