Inspiration
A legal document is only useful if you can prove it is the real one. A scanned agreement, a certificate or a court filing can be altered by a single character, and the altered copy still looks genuine. I wanted a simple way for anyone to check whether the document in front of them is byte-for-byte the document that was sealed.
What it does
NyayaSeal seals a legal document with its own content hash and verifies it in one click.
- Seal: upload a file (up to 2 MB) or paste text. NyayaSeal computes the document's SHA-256 hash and stores the exact bytes in a content-addressed vault — the hash is the document's address.
- Verify: upload a file, paste text or paste a hash. NyayaSeal re-hashes it and gives a plain verdict: AUTHENTIC if the bytes are unchanged, TAMPERED if even one byte differs, or NOT FOUND if the document was never sealed.
- Tamper demo: flips one byte of a sealed sample document and shows the genuine TAMPERED verdict, so the check can be seen working.
- Register and audit log: every sealed document is listed in a register with its full record, and every seal and verification writes a receipt to a hash-chained audit log that can be re-verified. Receipts can be downloaded as JSON.
How I built it
Built solo on 10 November 2026, using Python 3 standard library only — no pip installs, no external assets. The core (sealing, verification, the content-addressed vault, the register and the hash-chained audit log) is plain Python served over WSGI, with a Vercel serverless adapter for the live deployment and an HTML, CSS and JavaScript front end, including a CSS 3D vault stack view of sealed documents.
Challenges I ran into
Making verification work on a stateless serverless deployment — the vault lives in temporary storage there — and keeping the hashing server-side so the seal always covers the exact uploaded bytes. I also had to keep every verdict honest: the app is explicit that the Walrus testnet is not connected, so the live backend is the local vault and no Walrus blob id is ever faked.
Accomplishments that I'm proud of
A working end-to-end seal-and-verify flow with plain-language verdicts, a tamper demo that genuinely produces a TAMPERED result, and a hash-chained audit log whose chain can be re-verified. Unit tests cover the SHA-256 known vector, seal-to-verify round-trip, tampered bytes, unknown hashes and audit-chain verification.
What I learned
That content addressing makes verification simple and hard to fool: if the address is the hash, a changed document simply has a different address. I also learned how much care a legal tool needs around honest limits — a hash match proves the bytes are unchanged, not that the content is legally true, and the app says so.
What's next for NyayaSeal
Connecting the storage layer to a real decentralised store so sealed documents survive beyond one server's disk, and adding signed issuer identities so a verifier can see who sealed a document as well as that it is unchanged.
General legal information, not legal advice. Sample documents are clearly labelled SAMPLE.
Built With
- css
- html
- javascript
- python
- vercel