PII · generation
Synthetic data platform
Detect once, generate many
A production pipeline that scans documents and schemas once, writes a masking blueprint, then fans out synthetic copies with human review, vaultless tokenization, and an agent tool bus.
- Python
- FastAPI
- Temporal
- GLiNER
- MCP
- Kubernetes
ARCHITECTURE
System map, principles, trust boundaries
LLD · DETECT
Extractor, ensemble, blueprint, emitter
LLD · TOOLS
Registry, personas, gateway, errors
LLD · CHAT
Schema RAG, providers, tool minting
ORCHESTRATION
Temporal DAG with HITL pause
WORKERS
GPU detect, CPU generate, scale to zero
INTEGRITY
FPE + Redis LRU + cold store
INTERFACE
Headless APIs, MCP tools, chat
01The problem
Enterprise test data still leaks production identities. Detection is GPU-expensive. Generation is cheap. Most pipelines invert that: they re-run models on every copy, freeze mappings in memory, and let a chat UI talk to databases with a session JWT.
02What we designed
A masking blueprint is the seam. Scan a template once. Pause for human review. Fan out thousands of copies on CPU workers. Keep referential integrity with format-preserving encryption first, a Redis LRU second, and a cold store behind it. Expose every mutating operation as a named tool on a Model Context Protocol server so agents never invent SQL.
03What I owned
Architecture of the detect → blueprint → generate DAG, ensemble scoring with a feedback-learning weight, the MCP vocabulary (tool, persona, guidance, skill), and the schema analysis / RAG chat loop with a pluggable LLM slot.