Skip to content

Privacy Enhancing Technologies & Security

BPEVeriFlow implements Privacy Enhancing Technologies (PETs) to protect corporate identifiers and personal director credentials while maintaining sovereign database compliance with NDPR 2019 and GDPR.


1. Decentralised Self-Sovereign Identity (SSI)

To prevent BPE servers from aggregating unencrypted Personally Identifiable Information (PII), the platform integrates a decentralised wallet flow:

  • Credential Exchange: Applicants connect an SSI wallet at login via Decentralised Identifiers (DIDs) conforming to the W3C DID standard.
  • Direct Prefill: Once verified, the wallet injects the director's Full Name, Date of Birth, NIN, BVN, and CAC number into the application context โ€” without storing raw values server-side.
  • Data Minimisation: BPE servers only retain cryptographic verification status and signature proofs (W3C Verifiable Credentials). No plain PII records are persisted in the database.

Supported SSI Wallet Types:

Wallet Type DID Method Credential Format
Affinidi did:key W3C VC JSON-LD
Veramo did:ethr W3C VC JWT
Polygon ID did:polygon Iden3 Protocol
Generic did:web W3C VC JSON-LD

2. Biometric Vector Matching & Zero-Knowledge Proofs (ZKP)

The Desk 5 facial capture desk uses localised edge processing to protect raw biometric data:

flowchart LR
    Cam["๐Ÿ“ท Camera\nStream"] --> Canvas["Local Canvas\nFrame Buffer"]
    Canvas --> Mesh["Local Face Mesh\nAnalyzer (on-device)"]
    Mesh --> Vec["Encrypted Vector\nEmbedding (anonymised)"]
    Vec --> |"ZKP Hash"| NIMC["NIMC Sovereign\nBiometric Registry"]
    NIMC --> |"Match / No-Match"| Result["โœ… Verified\nor โŒ Failed"]
    Mesh --> |"Immediate Purge"| Purge["๐Ÿ—‘๏ธ Raw Image\nDeleted from Memory"]

Processing Steps:

  1. Local Processing: Raw camera video frames are processed entirely on-device using a browser-side face mesh library.
  2. Vector Hash Extraction: Facial geometry is converted into an anonymised mathematical vector embedding.
  3. Zero-Knowledge Proof (ZKP): The vector is hashed and compared against NIMC registry records โ€” proving "director matches ID photo" without transmitting or storing the physical face image on any server.
  4. Raw Image Purging: Raw captures are deleted from browser memory immediately upon vector computation.

3. Data Encryption Standards

All data in the platform adheres to these security standards:

Category Standard Scope
Transit Encryption TLS 1.3 / HTTPS All API communication โ€” Next.js โ†” Gateway โ†” Services
Rest Encryption AES-256 File uploads (NIN slips, bank statements, CAC documents)
JWT Signing HMAC-SHA256 Session tokens for all authenticated requests
Audit Hash Chaining SHA-256 (mock) Each audit log event links to its parent block
Biometric Vectors ZKP hash Only the hash of the vector embedding is transmitted

4. Role-Based Access Control (RBAC) Governance

System access is enforced through RBACContext.tsx, which maps each user role to a strict set of permitted resources and actions.

Role Permission Matrix

Permission Applicant Officer Finance Compliance Biometric Executive Auditor Ext. Verifier
Submit application & desk forms โœ… โŒ โŒ โŒ โŒ โŒ โŒ โŒ
View own application status โœ… โŒ โŒ โŒ โŒ โŒ โŒ โŒ
Pay concession fee โœ… โŒ โŒ โŒ โŒ โŒ โŒ โŒ
Connect SSI wallet โœ… โŒ โŒ โŒ โŒ โŒ โŒ โŒ
Manage PETs consent toggles โœ… โŒ โŒ โŒ โŒ โŒ โŒ โŒ
Review Desks 1 & 2 exceptions โŒ โœ… โŒ โŒ โŒ โŒ โŒ โŒ
Review Desk 3 (Finance QC) โŒ โŒ โœ… โŒ โŒ โŒ โŒ โŒ
Review Desk 4 (Due Process) โŒ โŒ โŒ โœ… โŒ โŒ โŒ โŒ
Review Desk 5 (Biometrics) โŒ โŒ โŒ โŒ โœ… โŒ โŒ โŒ
Access applicant pipeline โŒ โœ… โœ… โœ… โœ… โœ… โŒ โŒ
Message Center (secure chat) โœ… โœ… โœ… โœ… โœ… โŒ โŒ โŒ
Assign agents to desks โŒ โŒ โŒ โŒ โŒ โœ… โŒ โŒ
View Executive Command Center โŒ โŒ โŒ โŒ โŒ โœ… โœ… โŒ
View System Audit Logs โŒ โŒ โŒ โœ… โŒ โœ… โœ… โŒ
Export Audit Log (JSON) โŒ โŒ โŒ โŒ โŒ โŒ โœ… โŒ
View AI Fairness Report โŒ โŒ โŒ โœ… โŒ โœ… โœ… โŒ
Verify external clearances โŒ โŒ โŒ โŒ โŒ โŒ โŒ โœ…

RBAC Architecture

graph TD
    User([User Entity]) --> Auth{"RBACContext\nAuth Check"}
    Auth --> |"applicant"| App["Verification Portal\nPETs ยท CBN Payment Gate\nMessage Center"]
    Auth --> |"officer"| Off["Pipeline Directory\nException Review Queues\nMessage Center"]
    Auth --> |"finance_analyst"| Fin["Desk 3 Finance QC\nPipeline View"]
    Auth --> |"compliance_officer"| Comp["Desk 4 Due Process\nAudit Logs ยท AI Fairness"]
    Auth --> |"biometric_agent"| Bio["Desk 5 Biometrics\nPipeline View"]
    Auth --> |"executive"| Exec["Command Center\nAgent Delegation\nAll Pipeline Views"]
    Auth --> |"auditor"| Aud["Audit Logs ยท AI Fairness\nRead-Only Command Center"]
    Auth --> |"external_verifier"| Ext["Public Clearance\nVerifier Only"]

5. NDPR / GDPR Compliance

Right to Erasure

Applicants can exercise their NDPR Right to Erasure at any time from the Privacy (PETs) tab by clicking "Purge Application Data". This triggers a cascade delete across all identifying records, document uploads, and credential tokens associated with their application.

NDPR / GDPR Mandate Platform Implementation
Granular Consent (NDPR Art. 2.1) Interactive PETs dashboard with per-category consent toggles (Biometrics, Analytics, Third-Party Sharing)
Right to Erasure (NDPR Art. 2.13) One-click cryptographic data purge with cascade database deletes and credential revocation
Identity Masking Temporary 16-digit Virtual ID tokens replace NIN/BVN strings exposed to third-party integrations
Data Minimisation (GDPR Art. 25) SSI wallet integration ensures raw PII is never stored server-side
Audit Traceability SHA-256 chained audit log provides tamper-evident evidence of all data processing events