VerifyOnce
Offline mode: actions are saved locally and will sync when online.

Verify once. Reuse everywhere.

Verify once. Apply faster. Stay accountable.

DigiLocker stores your documents. VerifyOnce stores your trust.
No re-uploads, no re-checks, ever. Government portals can instantly use already verified documents with simple consent.

500M+ DigiLocker users in India
5-10x identity re-verifications per citizen
Zero re-uploads, reused instantly
*Illustrative/estimated figures for demo purposes

How this fits into existing government websites

example-govportal.gov.in

VerifyOnce isn't a separate app — it's a feature any government portal can add to their own login page, similar to 'Sign in with Google.'

Why doesn't this already exist?

DigiLocker already offers document-sharing APIs, but adoption is optional per department. The real bottleneck isn't technology — it's adoption incentives and unresolved liability questions (who's responsible if shared data is wrong). VerifyOnce assumes this trust-sharing layer as a default, not an opt-in afterthought. Closing this gap fully requires two things: (1) formal DigiLocker/API Setu partnership for real issuer trust, and (2) fuzzy-matching fraud detection beyond exact-match checks — both are our next milestones, not final claims.

Service portal · Ration Card

Verify your identity

Verify once. No re-uploads, no re-checks, ever. Your verified identity can be reused instantly across services.

Step 1 of 3: Phone number
Please enter a valid 10-digit number
Demo OTP: 123456

Save time with your verified records

Use DigiLocker to fill your details automatically.

Checking documents securely…
Identity verified

Verification is valid for 90 days. Other services must ask for your consent before using it.

View verification proof (Technical detail)
Signed and verified using the Web Crypto API (ECDSA P-256) — real cryptography running in your browser. In production, signing would happen server-side via HSM/KMS.
Note: In this demo, VerifyOnce acts as both the issuer and verifier for simplicity. In a real deployment, the issuing authority would be a registered entity (e.g., DigiLocker/MeitY) with a publicly verifiable key, checked against a trust registry — not self-issued. In production, this would follow the W3C Verifiable Credentials standard, using Decentralized Identifiers (DIDs) and a public trust registry maintained by the issuing authority (e.g., DigiLocker/MeitY).
Issuing Authority Public Key (ECDSA P-256 · SPKI Base64):
Generating keypair...
Cryptographic Signature Bytes (ECDSA P-256 · Hex):
Awaiting document verification...
Credential Payload (Signed Claims):
Awaiting verification...
Signed Proof Token (Compact JWT):
Tamper Detection Demonstration
Simulate an attacker editing the citizen ID or payload in localStorage. Because ECDSA signatures are cryptographically bound to the data, any alteration causes crypto.subtle.verify() to genuinely fail across consuming portals.
Status: Signature Valid
Service portal · Scholarship

Start scholarship application

Zero re-uploads required. Instantly reuse your verified identity from other services.

Try the reuse moment

Pre-verified sample citizen: Meera Patel · 9876543210

Validating signature ✓

Already verified elsewhere

Only these facts will be shared:
Identity verified Address verified Validity date
Your Aadhaar number and uploaded files will not be shared.

Identity not found in shared vault

Please upload your Aadhaar and address proof to continue.

Documents verified Your scholarship application can now proceed to the next step.
🌾 Service portal · PDS (Rural)

Get your Ration

Fast verification optimized for low network areas. No re-uploads, no re-checks, ever.

Try the reuse moment

Pre-verified sample citizen: Meera Patel · 9876543210

Connecting slowly... Please wait...

Found Verified Record

No identity found.

Cannot proceed without documents.

Done! Identity used successfully. Proceed to collect rations.
Service portal · Certificates

Apply for Certificate

Verify your identity instantly and track your application status strictly.

Try the reuse moment

Pre-verified sample citizen: Meera Patel · 9876543210

Validating signature ✓

Identity not found

Please complete verification first.

Identity verified

Application Status

App ID:
Filed successfully
Under Review
Awaiting official approval
SLA Countdown
Official deadline: 15 days. If not processed, auto-escalates to District Officer.
15 days 00:00:00

SLA Breaches

Auto-escalated applications

Assisted service · CSC operator

Help a citizen reuse verification

The operator can guide the citizen, but the citizen must still approve sharing on their own device.

🏛️ District Officer Oversight Dashboard

Real-time tracking of shared citizen verification credentials and cross-service SLA compliance.

Success