Lies den wichtigen Teil.
Verschlüsselung, die du nicht inspizieren kannst, ist ein Versprechen, keine Eigenschaft. Hier ist genau, was heute inspizierbar ist und was noch kommt.
Heute überprüfbar: der Viewer
Die Seite, die jeder Empfänger öffnet, ist eine einzige, in sich geschlossene Datei — keine Frameworks, keine Bundler-Ausgabe, keine externen Skripte. Öffne einen beliebigen Notiz-Link, wähle Quelltext anzeigen, und du liest das gesamte Programm, das den Schlüssel aus deinem Link verarbeitet: die WebCrypto-Schlüsselableitung, die AES-256-GCM-Entschlüsselung, die strikte Content-Security-Policy, die ihm verbietet, mit irgendetwas außer diesem Server zu sprechen. Das ersetzt kein Repository, aber es bedeutet, dass der Code, der deine Geheimnisse berührt, im buchstäblichsten Sinne auf jeder einzelnen Notiz öffentlich ist.
Absichtlich langweilig
BurnPony erfindet keine Kryptografie. Es verwendet AES-256-GCM zum Versiegeln, HKDF-SHA256 zur Schlüsselableitung und PBKDF2-HMAC-SHA256 mit 600.000 Iterationen für Passphrasen — Standardprimitive, auf die Standardart verwendet. Die Swift-Implementierung in der App und die JavaScript-Implementierung im Viewer werden mit unabhängig erzeugten Testvektoren gegeneinander verifiziert, sodass die beiden Codebasen Byte für Byte übereinstimmen müssen, um überhaupt zu funktionieren.
Das Repository
Es existiert, und diese Seite verweist nun darauf: github.com/norsehorse-dev/BurnPonyiOS — die vollständige iOS-App, der Relay-Server, der Viewer mit den Teilen, aus denen er zusammengesetzt ist, die implementierungsübergreifenden Testvektoren und eine Self-Hosting-Anleitung, unter der Apache-2.0-Lizenz, auf demselben Konto, das die anderen veröffentlichten Kerne der Familie hostet, einschließlich PGPonyCore und RelayPonyCore. Das exakte Byte-Format ist als dem v1-Protokoll beschrieben, und der ausgelieferte Viewer ist nachweislich identisch mit seinem veröffentlichten Quelltext: scripts/assemble_viewer.py --verify im Repository prüft ihn Byte für Byte.
Warum diese Reihenfolge
- Empfänger zuerst: der Code, dem Empfänger vertrauen müssen — der Viewer — ist der Teil, der vom ersten Tag an inspizierbar ist.
- Behauptungen, die du testen kannst: das Fragment-Schlüssel-Design bedeutet, dass „der Server kann Notizen nicht lesen“ von außen überprüfbar ist: beobachte den Netzwerk-Tab und sieh, dass das Fragment den Browser nie verlässt.
- Ehrlichkeit vor Optik: die Seite sagt „geplant“, bis die Repos existieren. Wenn es sie gibt, bekommt diese Seite die Links und die Lizenzbedingungen.
In der Zwischenzeit
Sicherheitsfragen oder -funde sind jetzt willkommen, Repository hin oder her: NorseHorse@norsehor.se, verschlüsselt über den PGP-Schlüssel, wenn du magst. Die Sicherheitsseite dokumentiert das vollständige Modell offen.