Dashboard/
Privacy Architecture

Privacy-first data architecture

Three isolated layers separate PII from AI. Personally identifiable data never leaves the vault. Downstream AI services see only anonymised, banded profiles keyed by hashed IDs.

Architecture
Layer 1
PII Vault
  • ·name, email, phone
  • ·encryption-at-rest (sim.)
  • ·access: vault API only
Contains PII
Layer 2
Context Layer
  • ·anon_id ⇄ vault_id
  • ·no PII returned
  • ·binds + resolves only
No PII
Layer 3
AI Processing
  • ·banded inputs (income/budget)
  • ·MCP endpoints
  • ·scoring + recommendations
No PII
Boundary contract: The AI layer never receives names, emails, phones, addresses or raw IDs. Inputs are banded (income_band, budget_band, age_band) and keyed by an opaque anon_id generated by SHA-256 over vault_id + salt.
Anonymous subject

Hashed ID — no name, email or phone is exposed to the AI layer.

/get-credit-bandMCP
{
  "anon_id": "anon_…",
  "credit_band": "B+",
  "score_range": "680–720",
  "pii_exposed": false
}
preview — click Call MCP endpoints
/get-affordabilityMCP
{
  "anon_id": "anon_…",
  "affordability_score": 82,
  "budget_ratio": "13%",
  "pii_exposed": false
}
preview — click Call MCP endpoints
/get-vehicle-matchMCP
{
  "anon_id": "anon_…",
  "matches": [
    "BMW X3",
    "Audi Q5",
    "VW Tiguan"
  ],
  "pii_exposed": false
}
preview — click Call MCP endpoints
/get-intent-scoreMCP
{
  "intent_score": 78,
  "time_to_buy": "7–14 days",
  "return_visits": 3
}
preview — click Call MCP endpoints
PII accessed in last 24h: 0 times— AI services received only anonymised data.

Audit log

Every cross-layer access is recorded
TimeLayerEndpointAnon IDPurposePII?
No audit entries yet.
Data minimisation
AI receives only banded / hashed fields. Raw values never cross the boundary.
Vault isolation
PII is stored in a separate layer with its own access policy and audit trail.
GDPR-ready
Right-to-erasure works by deleting the vault row; AI artefacts hold no PII.