Wëssensbasis Ënnert der Hood
Verifizéiert de Bau
Open Source hëlleft nëmmen wann de Code deen Dir leeft de Code ass deen war publizéiert. Nymchat gëtt deterministesch gebaut sou datt Dir dat selwer kontrolléiere kënnt, vu bannen an der App oder vun engem Terminal.
Dës Säit ass Maschinn iwwersat fir Kamoudheet. Déi englesch Original ass d'Versioun déi gëlt.
Reproduzéierbar baut
D'App ze bauen emittéiert a build-manifest.json enthält d'Quell Engagement, a
SHA-256 Hash vun all servéiert HTML, JavaScript an CSS Verméigen, an eng eenzeg
bundleHash iwwer dee ganze Verméigensset.
D'Ausgab hänkt nëmmen vum Quellinhalt of - och déi opgeholl Bauzäit ass den
commit Zäitstempel anstatt de Moment wou de Bau gelaf ass - also jiddereen deen d'selwecht opbaut
commit kritt byte-identesch Dateien an déiselwecht bundleHash.
Eng GitHub Action baut dann all Engagement onofhängeg op an ënnerschreift d'Build-Provenance
Attestatiounen fir den Hash an de Manifest, also gëtt et en ënnerschriwwene Rekord, deen a bindt
bundleHash zu engem Engagement am Repository, produzéiert vun eppes anescht wéi de
Détachement.
Wat den Iwwer Dialog kontrolléiert
Iwwer am Header leeft d'Check live, an Ärem Browser.
Et hëlt all Verméigen op déi d'Säit tatsächlech leeft, hashes et mat der Web Crypto API, an
vergläicht géint de Manifest. Dann - an dëst ass deen Deel dee wichteg ass - et
recomputes der bundleHash vun den Haiser et just berechent, net aus
alles wat de Manifest behaapt, a kuckt dat an den ënnerschriwwenen Attestatiounen vum Repository op
duerch d'GitHub API.
Dat ass wat en Détachement verhënnert fir sech selwer ze stëmmen: modifizéiert Dateien zesumme mat e passende Manifest feelt nach ëmmer, well den nei berechnen Hash keng Attestatioun huet.
| Status | heescht |
|---|---|
| & kontrolléieren; Verifizéiert offiziell App (n/n) | All Verméigen entsprécht, de reberechente Bündelhash gëtt vum Repository attestéiert, an d'Säit gëtt vum offiziellen Domain zerwéiert. |
| ⚠ Verifizéiert Build · net déi offiziell App | De Code ass echt an attestéiert, awer dëst ass e Spigel op engem aneren Domain. E Spigel kann dës Warnung net ewechhuelen ouni d'Verifizéierung. |
| ✗ Mismatch | En Verméigen hash net op wat de Manifest seet. |
| ✗ Inoffiziell Build | De recomputéierten Bündelhash huet keng Attestatioun vum Repository - e selbstgemaachte Manifest. |
| ⚠ Herkomst net erreechbar | D'GitHub API konnt net erreecht ginn, sou datt d'Attestatioun entweder net kontrolléiert ka ginn. |
Verifizéiert et selwer
Erstellt d'Engagement d'Iwwer Dialog Nimm a vergläicht:
git clone https://github.com/Spl0itable/NYM
cd NYM
git checkout <commit shown in the About dialog>
npm ci
npm run build # prints "Build hash: <bundleHash>"
De gedréckte Hash soll souwuel mat deem am Iwwer-Dialog an deem an deem Verpflichtung passen Build-Provenance Run Resumé. Dir kënnt och d'Ënnerschrëft direkt mam GitHub CLI iwwerpréiwen:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
D'Befehl Kanaresch
A Warrant Canary ass eng Ausso, publizéiert op engem fixen Zäitplang, déi den Entwéckler huet net krut eng geheim Regierung Uerdnung si verbueden ze verëffentlechen - a National Security Letter, eng FISA Uerdnung. Den Entwéckler ka gezwongen sinn ze roueg ze bleiwen esou eng Uerdnung, awer kann net gezwongen sinn ze léien, sou datt d'Kanarien schief goen oder verschwannen ass selwer d'Signal.
Et lieft an canary.json an der Wuerzel vum Repository a gëtt direkt ofgeholl
vu GitHub, sou datt seng Geschicht auditabel ass onofhängeg vun deem wat den ofgebauten Site seet.
Den Dialog Iwwert Faarfkodéiert et:
| Faarf | heescht |
|---|---|
| Gréng - alles kloer | Ënnerschriwwen, aktuell an d'Ënnerschrëft entsprécht dem Schlëssel vum Entwéckler. Keng geheim Bestellung gouf kritt. |
| Giel - iwwerzeegt, oder net alles kloer | Et gouf net erfrëscht vu sengem uginnen Datum, oder seng allClear Fändel ass falsch. Eng roueg Uerdnung kann net ausgeschloss ginn. |
| Rout - ongëlteg Ënnerschrëft, oder fort | D'Ënnerschrëft entsprécht net dem Entwéckler säi Schlëssel, oder d'Datei gouf komplett geläscht. Behandelt dëst als eng sérieux Warnung. |
D'Frëschheet ankeren
Den ënnerschriwwene Kanaresch bannen déi lescht Bitcoin Block Héicht an Hash am Moment vun der Ënnerschrëft. Deen Hash konnt net bekannt gewiescht sinn ier de Block existéiert, wat beweist datt de Kanaresch war ënnerschriwwen no e spezifesche Punkt an der Zäit anstatt pre-ënnerschriwwen am bulk Méint virdrun. Den Iwwer Dialog verbënnt den Anker mat engem Block Explorer fir datt Dir et iwwerpréift.