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:
- Local Processing: Raw camera video frames are processed entirely on-device using a browser-side face mesh library.
- Vector Hash Extraction: Facial geometry is converted into an anonymised mathematical vector embedding.
- 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.
- 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 |