Zero-Custody Protocol Verify user age, Aadhaar authenticity, and credentials with zero storage liability under DPDP Act 2023.
ProID Developer Platform

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.

Statutory Risk Shield

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
Pillar 1

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.

Authentication Protocol

OAuth 2.0 & OpenID Connect (OIDC)

RFC 6749 / OIDC Core

Enable "Login with ProID" across your web and mobile applications with compliant authorization code flows, PKCE protection, and granular predicate claim scopes.

// Standard OIDC Endpoints
GET /.well-known/openid-configuration
GET /oauth/v2/authorize
POST /oauth/v2/token
GET /oauth/v2/userinfo
// Supported Attestation Scopes
scope=openid profile
+ predicate:is_adult
+ predicate:aadhaar_verified
+ predicate:degreed_professional
// Example: Attested UserInfo Response (/oauth/v2/userinfo)
{
  "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"
}
Direct Cloud Integration

REST Endpoints & Dispatch Webhooks

REST / HTTPS JSON

Trigger synchronous verification queries or register webhooks for real-time dispatch events when an end-user confirms biometric attestation on their phone.

// 1. Initiate Predicate Verification Request
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"
}
// 2. Immediate Attestation Receipt Response
{
  "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"
}
Pillar 2

SDKs: Client Libraries, Brokers & Passkeys

Integrate using idiomatic client libraries for server runtimes, zero-dependency OS brokers for mobile, or browser-native hardware passkeys.

TS

Client Libraries

Official SDKs for TypeScript / Node.js, Python, and Go. Offline receipt verification, key rotation caching, and type-safe predicate models.

npm i @proid/sdk
pip install proid-sdk
OS

Android & iOS Brokers

Zero-install OS brokers. Invoke via standard Android Intent or iOS Universal Link. Zero bloated 50MB blobs bundled into customer APKs.

id.proid.vault.VERIFY
proid://verify
FIDO

Web Passkeys & WebAuthn

Hardware-backed biometric passkey authentication directly inside web browsers. Zero passwords, zero SMS OTP costs, zero phishing vectors.

navigator.credentials.get()
FIDO2 / WebAuthn

1. TypeScript / Node.js Client SDK

Verify cryptographic receipts offline with ProID public keys in 3 lines of code:

import { ProIDClient } from '@proid/sdk';

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:

// Trigger ProID In-Situ Verification (Android Kotlin)
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:

// Trigger ProID Hardware Passkey Challenge (Browser Client)
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);
Pillar 3

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:

01 / ZERO RAW CUSTODY

Raw Aadhaar numbers, PAN scans, and certificate PDFs never touch developer servers or ProID central clouds.

02 / ED25519 ATTESTATION

Receipts are signed with hardware-backed Ed25519 keys, binding the verified predicate to a one-time cryptographic nonce.

03 / STATUTORY SAFE HARBOR

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:

1

Create Developer Account in Business Portal

Navigate to the Business Sub-Portal, claim your business handle, and generate your live and sandbox API credentials.

2

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.

3

Run Your First Verification

Test your integration using the sandbox API endpoint directly from terminal:

curl -X POST https://api.proid.id/v1/predicates/verify \
  -H "Authorization: Bearer proid_test_k938d92a10" \
  -H "Content-Type: application/json" \
  -d '{"subject_handle": "[email protected]", "predicates": ["is_adult"]}'
Ready to Integrate

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.