Wiesselt op den Inhalt
Zréck op Nymchat

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.

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.

Den Nymchat Iwwer Dialog, weist d'Versioun, baut Integritéit a garantéiert de Kanaresch Status.
Den Iwwer Dialog: Versioun, Integritéit opbauen, Kanaresch Garantie an eng direkt Linn un den Entwéckler.

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.

Statusheescht
& 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 AppDe 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.
✗ MismatchEn Verméigen hash net op wat de Manifest seet.
✗ Inoffiziell BuildDe recomputéierten Bündelhash huet keng Attestatioun vum Repository - e selbstgemaachte Manifest.
⚠ Herkomst net erreechbarD'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:

Faarfheescht
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 kloerEt 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 fortD'Ë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.