The world's first open-source, cyber-physical exam security infrastructure.
Defeat paper leaks (like the NEET and UPSC leaks), secure the "Last Mile," and guarantee chain of custody with Zero-Trust architecture, Rust hardware agents, and Invisible Steganography.
Build Status License Stars Discord
Recent high-profile scandals, such as the NEET paper leak, state-board paper leaks, and compromised competitive exams, have demonstrated a critical vulnerability in global education systems. Digital security is useless if the final exam is printed on physical paper and photographed. Traditional systems secure the PDF in the cloud but dump it into a local Windows Print Spooler, where it is easily cached, intercepted, or sold.
DOR Exam Vault does not just secure the cloud; it secures the physics of printing to prevent exam paper leaks.
- Rust Secure Print Agent (SPA): Bypasses the OS print spooler (via O_DIRECT) to print directly to hardware from volatile RAM.
- Invisible Steganography (Anti-Cheat): PyMuPDF dynamically injects sub-pixel kerning anomalies (Tc/Tw operators) and frequency-domain (DCT) watermarks per student. If an exam is photographed and leaked on WhatsApp or Telegram, we can trace it back to the exact print center, time, and intended student.
- Shamir Secret Sharing & TPM 2.0: Encrypted IPFS payloads are pre-cached, but the decryption key is fragmented across authorities. Keys are only assembled in-memory upon successful TPM hardware attestation.
- Smart Contracts: Solidity (EIP-712, M-of-N Threshold, UUPS Proxies)
- Backend: Node.js, Express, Prisma, PostgreSQL, Redis (Nonce TTL)
- Hardware Agent: Rust (TPM 2.0 tss_esapi, AES-256-GCM, mTLS)
- Steganography Engine: Python, FastAPI, PyMuPDF, SciPy
- Frontend: Next.js 14, Tailwind CSS
- Docker & Docker Compose
- Rust (Cargo)
- Node.js 20+
- Python 3.10+
git clone https://github.com/dorconsultation/exam-vault.git
cd exam-vault
docker-compose up -dcd spa
cargo run -- --config ./config.dev.tomlVisit http://localhost:3000 to access the Ops Dashboard.
We welcome contributions. Whether you are a cryptographer, a Rust hardware hacker, or a Next.js engineer, check out our Contributing Guide and look for good first issue labels.
If you discover a vulnerability, please do NOT open a public issue. Read our Security Policy for responsible disclosure.
This project is licensed under the MIT License - see the LICENSE file for details.