Saakshya
AI and blockchain document verification that returns one of four honest verdicts, from PROVEN to REJECTED, with a credential that verifies offline.

Overview
Built with Team Saakshya at the SISTec Innovation Hackathon 2026, for a problem statement on blockchain-based document verification. Upload a marksheet, a degree or a PAN card: Saakshya reads and audits it, checks the claim against the issuing authority’s register, anchors a salted hash in a Merkle-batched ledger and returns a signed credential with a QR code that verifies offline.
The point is the verdict. Instead of a yes or no, every document gets one of four levels: L3 PROVEN (issuer-signed or from DigiLocker), L2 CONFIRMED (matches the official register), L1 PLAUSIBLE (clean, but no register to check) and L0 REJECTED (evidence of tampering).
Highlights
- OCR plus five families of forensic signals: error level analysis, noise residual, copy-move detection, metadata and PDF structure, and template consistency.
- Hash-chained ledger blocks with Merkle roots and RFC 9162-style inclusion proofs, using the same data model as the Hyperledger Fabric chaincode it would swap in for.
- On the ledger: salted leaf hash, Merkle root, verdict, model version and revocations. Off it, encrypted at rest: the document image, extracted personal data, salts and keys.
- A public verifier that checks the Ed25519 signature in the browser with WebCrypto and keeps working offline after the first load.
Built with
FastAPI, RapidOCR, SvelteKit (Svelte 5), Tailwind CSS v4, GSAP, WebCrypto, Ed25519, Merkle ledger.