How pratikshakalbhor/proofkey works
VeriShield is a privacy-preserving credential platform. An issuer authenticates, manages students, signs a credential commitment, and anchors it to Midnight. A holder keeps credential material and salt in the browser, selects one claim, and generates a proof. A verifier submits that proof and receives only a validity result, checked against issuer keys, commitments, and revocation state. The graph combines sampled runtime code with README-documented capabilities; contract internals and several portal integrations were not sampled, so those links remain intentionally conservative.
Components 22
Web Portals
- Issuer Portal
packages/web/src/features/issuer/IssuerPortal.tsx - Holder Portal
packages/web/src/features/holder/HolderPortal.tsx - Verifier Portal
packages/web/src/features/verifier/VerifierPortal.tsx - Wallet Adapter
packages/web/src/lib/midnight/wallet.ts
Issuer API
- Issuer API
packages/issuer-api/src/app.ts - API Router
packages/issuer-api/src/routes/index.ts - Auth Routes
packages/issuer-api/src/routes/auth.routes.ts - Student Routes
packages/issuer-api/src/routes/students.routes.ts - Institution Routes
packages/issuer-api/src/routes/institution.routes.ts - Auth Service
packages/issuer-api/src/services/auth.service.ts - Student Service
packages/issuer-api/src/services/student.service.ts - Signing Service
packages/issuer-api/src/services/signing.service.ts - Revocation Service
packages/issuer-api/src/services/revocation.service.ts - Audit Service
packages/issuer-api/src/services/audit.service.ts - Issuer Database
packages/issuer-api/src/db/client.ts
Proof Runtime
- Proof SDK
packages/shared/src/midnight/proof.ts - Claim Circuits
packages/contracts/src/index.ts
Midnight Ledger
- Midnight Adapter
packages/issuer-api/src/services/midnight.service.ts - Credential Registry
packages/contracts/src/index.ts
Other components
- Issuer Admin
- Credential Holder
- Credential Verifier
Connections 27
- Issuer Admin → Issuer Portal: uses
- Credential Holder → Holder Portal: uses
- Credential Verifier → Verifier Portal: uses
- Issuer Portal → Issuer API: calls
- Issuer API → API Router: dispatches
- API Router → Auth Routes: dispatches
- API Router → Student Routes: dispatches
- API Router → Institution Routes: dispatches
- Auth Routes → Auth Service: invokes
- Student Routes → Student Service: invokes
- Institution Routes → Midnight Adapter: anchors
- Auth Service → Issuer Database: reads/writes
- Student Service → Issuer Database: reads/writes
- Auth Service → Audit Service: records
- Audit Service → Issuer Database: writes
- Student Service → Signing Service: creates credentials
- Signing Service → Midnight Adapter: anchors commitment
- Revocation Service → Midnight Adapter: publishes revocation
- Midnight Adapter → Proof SDK: calls
- Proof SDK → Credential Registry: submits state
- Holder Portal → Wallet Adapter: connects
- Holder Portal → Proof SDK: requests proof
- Wallet Adapter → Proof SDK: supplies private data
- Proof SDK → Claim Circuits: selects claim
- Claim Circuits → Credential Registry: checks roots
- Proof SDK → Verifier Portal: returns validity
- Verifier Portal → Proof SDK: submits proof