Developers.
API, SDKs & Documentation.
Verify customer age, Aadhaar authenticity, and professional standing with zero data custody and zero liability. Choose direct cloud REST/OIDC APIs, lightweight client SDKs, or zero-install OS brokers.
REST & OAuth / OIDC
REST endpoints, OpenID Connect 2.0 provider, and real-time dispatch webhooks.
Client Libraries & Brokers
TypeScript/Python/Go client SDKs, Android/iOS OS brokers, and Web passkeys.
Specs & Quickstart
In-situ verification specs, predicate proof engine, and 5-minute quickstart guide.
The ₹250 Crore Aadhaar Storage Liability
Under India's Digital Personal Data Protection (DPDP) Act 2023, holding raw scans of customer Aadhaar cards in S3 buckets represents catastrophic corporate liability. If your database leaks, static identity numbers cannot be revoked, exposing your entity to statutory penalties of up to ₹250 Crore.
ProID replaces data extraction with in-situ attestation. Your app asks questions; ProID evaluates the proof locally on the user's hardware or trusted enclave and signs an un-breachable Verification Receipt.
Legacy KYC (High Risk & High Cost)
- • User uploads unmasked Aadhaar PDF/JPG
- • You pay recurring cloud fees to store gigabytes of IDs
- • If your database leaks, user credentials are compromised forever
- • 100% legal liability under Indian DPDP penalties
ProID In-Situ (Zero Liability)
- • Document remains locked inside user's local vault
- • You request only boolean predicates (
is_adult,valid_id) - • User authorizes once via native fingerprint / FaceID
- • You receive a signed cryptographic receipt in 2 seconds
API: REST & OAuth / OIDC Endpoints
Integrate ProID into any backend or web application via standard RESTful HTTP APIs or standard OpenID Connect (OIDC) identity provider handshakes.
OAuth 2.0 & OpenID Connect (OIDC)
Enable "Login with ProID" across your web and mobile applications with compliant authorization code flows, PKCE protection, and granular predicate claim scopes.
{
"sub": "proid_usr_9a4f21b7",
"handle": "[email protected]",
"iss": "https://auth.proid.id",
"attested_claims": {
"is_adult": true,
"aadhaar_authentic": true,
"state_residence": "KA"
},
"receipt_id": "rcpt_oidc_88f01a3",
"custody_mode": "ZERO_RAW_STORAGE"
}
REST Endpoints & Dispatch Webhooks
Trigger synchronous verification queries or register webhooks for real-time dispatch events when an end-user confirms biometric attestation on their phone.
POST /v1/predicates/verify HTTP/1.1
Host: api.proid.id
Authorization: Bearer proid_live_sec_9941a8e0f1
Content-Type: application/json
{
"subject_handle": "[email protected]",
"predicates": ["is_adult", "pan_active"],
"callback_url": "https://api.yourbrand.in/kyc/webhook",
"nonce": "7a1f59e0-82bc-4482-93db-f80081d02c93"
}
{
"receipt_id": "rcpt_0x8f7c9e2b4a1d3f",
"status": "SOVEREIGN_VERIFIED",
"predicates_passed": {
"is_adult": true,
"pan_active": true
},
"raw_document_custody": "ZERO_STORED",
"device_signature": "MEQCIAz7vQ6u...Ed25519",
"dpdp_compliance": "EXEMPT_FROM_S3_CUSTODY"
}
SDKs: Client Libraries, Brokers & Passkeys
Integrate using idiomatic client libraries for server runtimes, zero-dependency OS brokers for mobile, or browser-native hardware passkeys.
Client Libraries
Official SDKs for TypeScript / Node.js, Python, and Go. Offline receipt verification, key rotation caching, and type-safe predicate models.
pip install proid-sdk
Android & iOS Brokers
Zero-install OS brokers. Invoke via standard Android Intent or iOS Universal Link. Zero bloated 50MB blobs bundled into customer APKs.
proid://verify
Web Passkeys & WebAuthn
Hardware-backed biometric passkey authentication directly inside web browsers. Zero passwords, zero SMS OTP costs, zero phishing vectors.
FIDO2 / WebAuthn
1. TypeScript / Node.js Client SDK
Verify cryptographic receipts offline with ProID public keys in 3 lines of code:
const proid = new ProIDClient({
apiKey: process.env.PROID_API_KEY,
environment: 'production'
});
// Verify attestation receipt cryptographically without remote API trip
const receipt = await proid.verifyReceipt(signedReceiptToken);
if (receipt.claims.is_adult) {
// Customer age verified without seeing or storing Aadhaar
await grantAdultAccess(receipt.subject);
}
2. Mobile Zero-Install Intent (Android Kotlin)
No 50MB vendor SDK required. Trigger native in-situ verification via standard Android Intent:
val intent = Intent("id.proid.vault.VERIFY").apply {
putExtra("claims", arrayOf("is_adult", "identity_verified"))
putExtra("app_id", "in.swiggy.delivery")
putExtra("nonce", UUID.randomUUID().toString())
}
startActivityForResult(intent, PROID_VERIFY_REQUEST)
3. Web Passkeys & FIDO2 Hardware Attestation
Authenticate users locally via hardware biometric sensors without server credential leakage:
const credential = await navigator.credentials.get({
publicKey: {
challenge: Uint8Array.from(challengeString, c => c.charCodeAt(0)),
rpId: "proid.id",
userVerification: "required"
}
});
const verified = await proid.validateWebAuthnAssertion(credential);
Documentation: Specs, Predicates & Quickstart
Everything you need to understand the zero-custody protocol architecture, queryable predicate proofs, and go live in 5 minutes.
In-Situ Verification Specification
ProID operates on the In-Situ Verification Principle: data processing occurs entirely within the cryptographic perimeter of the user's sovereign vault or secure hardware enclave. The protocol enforces three immutable invariants:
Raw Aadhaar numbers, PAN scans, and certificate PDFs never touch developer servers or ProID central clouds.
Receipts are signed with hardware-backed Ed25519 keys, binding the verified predicate to a one-time cryptographic nonce.
Developers maintain 100% compliance with India DPDP Act 2023 without incurring data fiduciary storage obligations.
Predicate Proofs Engine
ProID supports standard queryable boolean predicates. Instead of requesting raw values, your system queries high-level attestations:
is_adult
BOOLEAN
Evaluates whether user is ≥ 18 years of age based on cryptographically signed government birth records. No raw date of birth is shared.
aadhaar_authentic
UIDAI PROOF
Confirms offline XML UIDAI digital signature integrity without storing the 12-digit Aadhaar number.
pan_active
ITD STATUS
Attests that the subject holds an active taxpayer identifier in good standing with the Income Tax Department.
degreed_professional
EDUCATION
Verifies accredited bachelor's or master's degree attestation from UGC/AICTE certified institutions.
state_residence == <CODE>
GEO REGION
Confirms Indian state residency (e.g. "KA", "TN", "MH") for gaming or regional regulatory compliance without exposing full postal addresses.
gstin_active
COMMERCIAL
Validates active GST registration status for business onboardings without pulling commercial returns.
Quickstart Guide (Go Live in 5 Minutes)
Three steps to zero-liability customer verification:
Create Developer Account in Business Portal
Navigate to the Business Sub-Portal, claim your business handle, and generate your live and sandbox API credentials.
Choose Integration Pattern (REST API, Client SDK, or OS Broker)
Install the lightweight SDK via npm install @proid/sdk or trigger native in-situ intents on Android/iOS devices without installing any dependency.
Run Your First Verification
Test your integration using the sandbox API endpoint directly from terminal:
-H "Authorization: Bearer proid_test_k938d92a10" \
-H "Content-Type: application/json" \
-d '{"subject_handle": "[email protected]", "predicates": ["is_adult"]}'
Eliminate Your KYC Storage Liability Today
Integrate ProID into your onboarding funnel in under 15 minutes. Zero storage costs, instant verification, total DPDP Act legal compliance.