Base sa kahibalo Ubos sa tabon
Pagpamatuod sa pagtukod
Ang bukas nga tinubdan makatabang lamang kung ang code nga imong gipadagan mao ang code nga kaniadto gipatik. Ang Nymchat gitukod deterministiko aron masusi nimo kana sa imong kaugalingon, gikan sa sulod sa app o gikan sa usa ka terminal.
Kini nga panid gihubad sa makina alang sa kasayon. Ang English nga orihinal mao ang bersyon nga magamit.
Reproducible nga mga pagtukod
Ang pagtukod sa app nagpagawas sa usa ka build-manifest.json naglangkob sa tinubdan commit, a
SHA-256 hash sa matag gisilbi nga HTML, JavaScript ug CSS asset, ug usa
bundleHash ibabaw nianang tibuok set sa asset.
Ang output nagdepende ra sa gigikanan nga sulud - bisan ang natala nga oras sa pagtukod mao ang
commit kay sa higayon nga ang pagtukod midagan - mao nga bisan kinsa nga nagtukod pag-usab sa mao gihapon nga
commit makakuha og byte-parehas nga mga file ug parehas bundleHash.
Usa ka GitHub Action unya nagtukod pag-usab sa matag commit nga independente ug nagpirma sa build-provenance
mga pagpamatuod alang sa hash ug sa manifest, mao nga adunay gipirmahan nga rekord nga naghigot sa a
bundleHash sa usa ka commit sa repository, nga gihimo sa usa ka butang gawas sa
pagdeploy.
Unsa ang gisusi sa About dialog
Mahitungod sa sa header nagpadagan ang tseke nga buhi, sa imong browser.
Gikuha niini pag-usab ang matag asset nga aktwal nga gipadagan sa panid, gi-hash kini sa Web Crypto API, ug
nagtandi batok sa dayag. Unya - ug kini ang bahin nga hinungdanon - kini
gi-compute pag-usab ang bundleHash gikan sa mga hash kini kalkulado lang, dili gikan
bisan unsa nga giangkon sa dayag, ug tan-awon kana sa gipirmahan nga mga pagpamatuod sa repository
pinaagi sa GitHub API.
Mao kana ang nagpahunong sa usa ka pag-deploy gikan sa paggarantiya sa kaugalingon: pag-alagad sa giusab nga mga file kauban ang ang usa ka pagpares nga manifest napakyas gihapon, tungod kay ang gi-compute nga hash walay pamatuod.
| Status | Nagpasabot |
|---|---|
| &susi; Gi-verify nga opisyal nga app (n/n) | Ang matag asset magkatugma, ang gi-compute nga bundle hash gipamatud-an sa repository, ug ang panid giserbisyuhan gikan sa opisyal nga dominyo. |
| ⚠ Napamatud-an nga pagtukod · dili ang opisyal nga app | Ang code tinuod ug gipamatud-an, apan kini usa ka salamin sa laing domain. Ang usa ka salamin dili makatangtang niini nga pasidaan nga dili mapakyas sa pag-verify. |
| ✗ Dili tugma | Ang usa ka asset dili hash sa unsay gisulti sa manifest. |
| ✗ Dili opisyal nga pagtukod | Ang recomputed bundle hash walay pamatuod gikan sa repository - usa ka self-made manifest. |
| ⚠ Provenance dili maabot | Ang GitHub API dili maabot, busa ang pamatuod dili masusi sa bisan asa nga paagi. |
Pag-verify niini sa imong kaugalingon
Pagtukod pag-usab sa commit ang About dialog names ug itandi:
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>"
Ang giimprinta nga hash kinahanglan nga motakdo sa usa sa About dialog ug sa usa sa commit's build-provenance run summary. Mahimo usab nimo nga susihon ang pirma direkta sa GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Ang warrant canary
Ang warrant canary usa ka pahayag, nga gipatik sa usa ka piho nga iskedyul, nga naa sa developer dili nakadawat ug sekretong mando sa gobyerno nga gidid-an sila sa pagbutyag — a Sulat sa Nasyonal nga Seguridad, usa ka mando sa FISA. Ang developer mahimong mapugos sa pagpabilin nga hilom mahitungod sa ang ingon nga usa ka mando, apan dili mapugos sa pagpamakak, mao nga ang kanaryo madaot o mawala mismo ang signal.
Kini nagpuyo sa canary.json sa gamut sa repository ug direkta nga gikuha
gikan sa GitHub, mao nga ang kasaysayan niini ma-audit nga independente sa bisan unsa nga gisulti sa gi-deploy nga site.
Ang About dialog color-codes niini:
| Kolor | Nagpasabot |
|---|---|
| Berde - klaro ang tanan | Ang pinirmahan, kasamtangan, ug ang pirma motakdo sa yawe sa developer. Walay sekretong order nga nadawat. |
| Dilaw - overdue, o dili tanan klaro | Wala kini gi-refresh sa gipahayag nga petsa, o niini allClear bandera kay bakak. Ang usa ka gipahilom nga mando dili mahimong isalikway. |
| Pula — dili balido nga pirma, o nawala | Ang pirma dili motakdo sa yawe sa developer, o ang file hingpit nga natangtang. Tagda kini ingong seryosong pasidaan. |
Ang kabag-o nga angkla
Ang gipirmahan nga canary nag-embed sa pinakabag-o nga Bitcoin block gitas-on ug hash sa higayon sa pagpirma. Kana nga hash dili unta mahibal-an sa wala pa ang block, nga nagpamatuod nga ang kanaryo gipirmahan pagkahuman usa ka espesipikong punto sa panahon imbes nga gipirmahan nang daan sa daghang mga bulan sa sayo pa. Ang About dialog nagsumpay sa angkla ngadto sa block explorer aron masusi nimo kini.