A chhunga thu awmte chu skip rawh
Nymchat ah kan kir leh ta

Hriatna (knowledge base) a ni Hood hnuaiah chuan

Build chu verify a ni

Open source hian i code hman mek kha code awm tawh kha a nih chauhvin a pui thin tihchhuah a ni. Nymchat hi deterministically-a siam a nih avangin chu chu nangmah ngeiin i check thei a, chhung lam atang pawhin app emaw terminal atang emaw a ni thei.

Reproducible builds te pawh a awm

App siam hian a chhuah a build-manifest.json source commit awmna, a HTML, JavaScript leh CSS asset served zawng zawng SHA-256 hash, leh pakhat chauh bundleHash chu asset set zawng zawng chungah chuan.

Output chu source content-ah chauh a innghat — recorded build time pawh hi a ni build a kal lai aiin commit-a timestamp a hmang zawk — chuvangin tu pawhin chutiang bawka rebuilding chu commit hian byte-identical files a hmu a, chutiang bawk chu a ni bundleHash.

Chumi hnuah GitHub Action chuan commit tinte chu independent takin a siam thar leh a, build-provenance a sign bawk hash leh manifest atan attestations a awm a, chuvangin signed record tiing a a awm a bundleHash to a commit in the repository, thil dang atanga siam chhuah deployment a ni.

About dialog hian eng nge a check

Lam header ah chuan check live a run a, i browser ah.

Nymchat About dialog, version tarlanna, build integrity leh warrant canary status te a awm.
About dialog: version, build integrity, warrant canary leh developer hnena direct line a awm.

Page-in a kal tak takna asset tin chu a re-fetch a, Web Crypto API hmangin a hash a,... manifest nen a khaikhin a ni. Tichuan — leh hei hi a pawimawh ber chu a ni — a ni a compute leh a bundleHash hashes atang hian chumi chhut chhuah mai mai, atanga ni lo manifest-in a sawi apiang chu, chu chu repository-a signed attestations-ah a zawng chhuak thin GitHub API hmangin a ni.

Chu chu deployment pakhatin a vouching a titawptu chu a ni: modified files te serving together with a matching manifest chu a la fail reng a, a chhan chu recomputed hash hian attestation a nei lo.

NihnaKalkawng
&dap; Official app finfiah tawh (n/n) .Asset zawng zawng a inmil vek a, recomputed bundle hash chu repository-in a attested a, leh page chu official domain atanga service a ni.
⚠ Verified build · official app a ni loCode hi a dik a, attested a ni a, mahse hei hi domain dang a mirror a ni. Mirror hian verification a hlawhchham loh chuan he warning hi a paih thei lo.
✗ A inmil loAsset chuan manifest-in a sawi angin a hash lo.
✗ Official lo siam a niRecomputed bundle hash hian repository atanga attestation a nei lo — mahni siam manifest a ni.
⚠ Provenance thlen theih lohGitHub API chu a thleng thei lo a, chuvangin attestation chu kawng khatah pawh check theih a ni lo.

Nangmah ngeiin verify rawh

Commit the About dialog hmingte chu siam thar leh la, tehkhin rawh:

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

Printed hash chu About dialog-a awm leh chu commit-a awm nen a inmil vek tur a ni build-provenance run chungchang hi a tawi zawngin. GitHub CLI hmang hian signature chu direct-in i check thei bawk:

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

A warrant canary a ni

Warrant canary chu thuchhuah, schedule ruat sa anga tihchhuah, developer-in a neih a ni lo sorkar thupek thup an dawng a, an puan khap a ni — a National Security Letter, FISA thupek a ni. Developer chu ngawi reng turin nawr theih a ni chutiang thupek chu, mahse dawt sawi tura nawr luih theih a ni lo va, chuvangin canary going stale or disappearing chu a ni amah ngei pawh signal a ni.

A nung a ni canary.json repository root-ah a awm a, direct-a lak chhuah a ni GitHub atanga lo chhuak a nih avangin a history hi deployed site-in a sawi apiang atanga innghat lovin audit theih a ni. About dialog hian a colour-code a:

RawngKalkawng
Hring — a chiang vekSigned, current leh signature te hi developer key nen a inmil a ni. Thupek thup erawh a la dawng lo.
Eng — overdue, a nih loh leh a chiang vek loA date tarlan atang khan a refresh lo, a nih loh leh a allClear flag hi a dik lo. Silenced order chu hnawl theih a ni lo.
Sen — signature dik lo, emaw, kal tawh emawSignature hi developer key nen a inmil lo a, a nih loh leh file chu paih vek a ni. Hei hi vaukhânna pawi tak angin en rawh.

A freshness anchor chu a rawn lang ta

Signed canary hian a sign lai hian Bitcoin block height leh hash thar ber a embed a ni. Chu hash chu block awm hma khan hriat theih a ni lo a, hei hian canary chu a nihzia a tilang chiang hle sign a ni hnuah thla tam tak hmaa bulk-a pre-signed ai chuan point in time bik a ni. About dialog hian anchor chu block explorer nen a link a, chuvang chuan i check thei ang.