Di tin dɛn we pɔsin fɔ no bɔt Ɔnda di hud
Fɔ chɛk di bildin
Open source de ɛp nɔmɔ if di kɔd we yu de rɔn na di kɔd we bin de we dɛn dɔn pablish. Nymchat na bil deterministically so yu kin chɛk dat yusɛf, frɔm insay di ap ɔ frɔm wan tɛminal.
Dɛn translet dis pej wit mashin fɔ mek i izi fɔ am. Di Inglish ɔrijinal na di vɛshɔn we de aplay.
Bil dɛn we dɛn kin riprodyuz
Fɔ bil di ap de mek a build-manifest.json we gɛt di sɔs kɔmit, a
SHA-256 hash fɔ ɛvri HTML, JavaSkript ɛn CSS ɛtɛt we dɛn de sav, ɛn wan singl
bundleHash ova da ol ɛtɛt sɛt de.
Di autput dipen ɔl pan di sɔs kɔntinyu — ivin di rikodɔ bild tɛm na di
commit in taimstamp pas di moment we di bild ron — so enibodi we de bil bak di sem
commit get byte-identical fayl dem en di sem bundleHash.
Dɔn wan GitHub Akshɔn de bil bak ɛni kɔmit indipɛndɛnt wan ɛn sayn bil-provenans
attesteshɔn fɔ di hash ɛn di manifest, so sayn rɛkɔd de we tay a
bundleHash to wan kɔmit na di ripɔsitɔri, we sɔntin ɔda pas di
diploymɛnt fɔ di wok.
Wetin di About dayalɔg de chɛk
Bɔt insay di hεda de rכn di chεk layv, insay yu bכwכz.
I de ri-fetch ɛni asɛt we di pej rili de rɔn, hash am wit di Wɛb Kripto API, ɛn
kɔmpia agens di tin we de sho klia wan. Dɔn — ɛn dis na di pat we impɔtant — am
rikompyuyt di bundleHash frɔm di hash dɛn i jɔs kɔlkul, nɔto frɔm
ɛnitin we di manifest klem, ɛn luk dat ɔp na di ripɔsitɔri in sayn atɛsteshɔn dɛn
tru di GitHub API.
Na dat de stɔp wan diploymɛnt fɔ vouch fɔ insɛf: fɔ sav modifyed fayl dɛn togɛda wit wan maching manifest stil de fel, bikɔs di rikɔmpyut hash nɔ gɛt ɛni atɛsteshɔn.
| Pozishɔn | Min |
|---|---|
| &chɛk; Verified ofishal ap (n/n) we dɛn dɔn chɛk. | Ɛvri ɛset mach, di rikɔmpyut bɔndɛl hash na di ripɔsitɔri atɛst am, . ɛn di pej de sav frɔm di ɔfishal domɛyn. |
| ⚠ Verified build · nɔto di ɔfishal ap | Di kɔd na tru ɛn atɛst, bɔt dis na miro na ɔda domɛyn. Miro nɔ go ebul fɔ pul dis wɔnin if i nɔ ebul fɔ chɛk. |
| ✗ Mismatch we nɔ gɛt wanwɔd | Wan asset nɔ de hash to wetin di manifest se. |
| ✗ Nɔ ɔfishal bil | Di rikɔmpyut bɔndɛl hash nɔ gɛt ɛni atɛsteshɔn frɔm di ripɔsitɔri — wan sɛlf-mɛd manifɔst. |
| ⚠ Una nɔ go ebul fɔ rich usay i kɔmɔt | Di GitHub API nɔ bin ebul fɔ rich, so dɛn nɔ bin ebul fɔ chɛk di atɛsteshɔn ɛni we. |
Fɔ chɛk am yusɛf
Ribild di kɔmit di Bɔt dayalɔg nem dɛn ɛn kɔmpia:
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>"
Di hash we dɛn print fɔ mach ɔl tu di wan we de na di Bɔt dayalɔg ɛn di wan we de na da kɔmit de bild-provenans rɔn sɔmari. Yu kin chɛk di sayn bak dairekt wit di GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Di warrant kanari
Warrant kanari na stetmɛnt, we dɛn pablish pan wan fiks schedule, we di divɛlɔpa gɛt nɔto gɛt sikrit gɔvmɛnt ɔda we dɛn nɔ alaw dɛn fɔ tɔk bɔt — a Nashɔnal Sikyuriti Lɛta, we na FISA ɔda. Dɛn kin fos di pɔsin we de mek di tin fɔ lɛ i nɔ tɔk natin bɔt dis kayn ɔda, bɔt dɛn nɔ go ebul fɔ fos am fɔ lay, so di kanari we de go stayl ɔ we de lɔs na so insɛf na di signal.
I de liv insay canary.json na di rut fɔ di ripɔsitɔri ɛn dɛn kin tek am dairekt wan
frɔm GitHub, so in istri na ɔditabl indipɛndɛnt frɔm ɛnitin we di sayt we dɛn dɔn diploy se.
Di About dayalɔg de kɔlɔ-kɔd am:
| Kɔlɔ | Min |
|---|---|
| Grin — ɔl klia | Sayn, kɔrɛnt, ɛn di sayn de mach di divɛlɔpa in ki. Dɛn nɔ dɔn gɛt ɛni sikrit ɔda. |
| Yala — ovadu, ɔ nɔto ɔl klia | I nɔ bin rifresh bay in deti we dɛn tɔk bɔt, ɔ in allClear flag na lay lay tin. Dɛn nɔ go ebul fɔ pul ɔda lɔ we dɛn mek we dɛn nɔ tɔk natin. |
| Rɛd — invalid signature, ɔ i dɔn go | Di sayn nɔ mach di divɛlɔpa in ki, ɔ dɛn dɔn pul di fayl ɔl. Trit dis lɛk siriɔs wɔnin. |
Di freshnɛs ankɔ
Di kanari we dɛn sayn de ɛmbas di laytst Bitcoin blɔk ayt ɛn hash di tɛm we dɛn sayn am. Dat hash nɔ bin fɔ dɔn no bifo di blɔk bin de, we pruv se di kanari bin de sayn we dɛn dɔn sayn afta wan patikyula pɔynt insay tɛm pas fɔ prɛ-sayn insay bɔku mɔnt bifo. Di About dayalɔg de link di ankɔ to wan blɔk ɛksplɔrɔ so yu kin chɛk am.