Skip menyang isi
Bali menyang Nymchat

Basis kawruh Ing ngisor hood

Verifikasi mbangun

Open source mung mbantu yen kode sing sampeyan gunakake yaiku kode sing ana diterbitake. Nymchat dibangun deterministik supaya sampeyan bisa mriksa sing dhewe, saka nang ing app utawa saka terminal.

Dibangun reproducible

Nggawe app emit a build-manifest.json ngemot komit sumber, a SHA-256 hash saka saben aset HTML, JavaScript lan CSS, lan siji bundleHash liwat set aset kabeh.

Output mung gumantung ing isi sumber - malah wektu mbangun sing direkam yaiku stempel wektu commit tinimbang nalika mbangun mlaku - supaya sapa wae sing mbangun maneh commit entuk file sing padha karo byte lan padha bundleHash.

A Tindakan GitHub banjur mbangun maneh saben komitmen kanthi mandiri lan menehi tandha build-provenance attestations kanggo hash lan manifest, supaya ana cathetan mlebu naleni a bundleHash kanggo commit ing gudang, diprodhuksi dening soko liyane saka panyebaran.

Apa mriksa dialog Babagan

Babagan ing header mbukak mriksa urip, ing browser Panjenengan.

Dialog Nymchat About, nuduhake versi, mbangun integritas lan njamin status kenari.
Dialog Babagan: versi, mbangun integritas, njamin kenari lan garis langsung menyang pangembang.

Iku njupuk maneh saben aset kaca sing bener mlaku, hash karo Web Crypto API, lan mbandhingaké marang manifest. Banjur - lan iki bagean sing penting - iku recomputes ing bundleHash saka hash iku mung diwilang, ora saka apa-apa sing diklaim manifest, lan katon ing bukti sing ditandatangani ing gudang liwat API GitHub.

Iki sing mandhegake penyebaran saka njamin dhewe: nglayani file sing diowahi bebarengan karo manifes sing cocog isih gagal, amarga hash sing dihitung maneh ora duwe bukti.

StatusTegese
& mriksa; Aplikasi resmi sing diverifikasi (n/n)Saben aset cocog, hash bundel sing diitung maneh dibuktekake dening repositori, lan kaca dilayani saka domain resmi.
⚠ Diverifikasi mbangun · dudu aplikasi resmiKode kasebut asli lan dibuktekake, nanging iki minangka pangilon ing domain liyane. Pangilon ora bisa mbusak bebaya iki tanpa verifikasi gagal.
✗ Ora cocogAset ora hash kanggo apa manifest ngandika.
✗ Bangunan ora resmiHash bundle sing dihitung maneh ora duwe bukti saka repositori - manifes sing digawe dhewe.
⚠ Asal ora bisa digayuhAPI GitHub ora bisa digayuh, mula bukti kasebut ora bisa dicenthang kanthi cara apa wae.

Verifikasi dhewe

Mbangun maneh jeneng dialog Babagan lan mbandhingake:

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>"

Hash sing dicithak kudu cocog karo sing ana ing dialog Babagan lan sing ana ing komitmen kasebut build-provenance run summary. Sampeyan uga bisa mriksa tandha langsung karo GitHub CLI:

gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM

Kenari jaminan

A kenari warrant minangka statement, diterbitake ing jadwal tetep, sing pangembang wis ora nampa pesen rahasia pemerintah sing dilarang kanggo mbukak - a Surat Keamanan Nasional, pesenan FISA. Pangembang bisa dipeksa kanggo tetep bisu babagan dhawuh kasebut, nanging ora bisa dipeksa ngapusi, mula kenari dadi basi utawa ilang sinyal dhewe.

Iku manggon ing canary.json ing oyod gudang lan dijupuk langsung saka GitHub, mula sejarahe bisa diaudit kanthi bebas saka apa wae sing dikandhakake situs sing disebarake. Dialog About menehi kode warna:

warnaTegese
Ijo - kabeh cethaTandha, saiki, lan teken cocog karo kunci pangembang. Ora ana pesenan rahasia sing ditampa.
kuning - telat, utawa ora kabeh cethaIku ora dianyari dening tanggal kasebut, utawa sawijining allClear gendera iku palsu. A pesen silenced ora bisa ditolak lewat.
abang - teken ora bener, utawa ilangTandha ora cocog karo kunci pangembang, utawa file wis dibusak kabeh. Nambani iki minangka bebaya serius.

Jangkar kesegaran

Kenari sing ditandatangani ngemot dhuwur blok Bitcoin paling anyar lan hash nalika mlebu. Hash kasebut ora bisa dingerteni sadurunge blok kasebut ana, sing mbuktekake kenari kasebut mlebu sawise titik tartamtu ing wektu tinimbang wis mlebu ing akeh sasi sadurungé. Dialog Babagan nyambungake jangkar menyang panjelajah blok supaya sampeyan bisa mriksa.