The delete
button lies.
Aegis is a forensic audit system that attacks your own AI infrastructure to prove whether PII was erased - across model weights, vector indexes, semantic caches, and source DB rows.
One DELETE touches
one layer.
A single erasure request must propagate through four independent persistence layers. Most pipelines handle one. Aegis verifies all four.
Prove deletion
actually worked
Builds a victim system from 100 synthetic HR records, runs 3 deletion strategies, red-teams each with 3 attack probes. Runs in your browser.
- 01Build victim systemTF-IDF + LSA 128-dim, MLP 128-32-10, 800-epoch backprop
- 02Execute 3 strategiesNaive / Standard / Full Unlearning on 5 targets
- 03Red-team x3 probesMIA (Shokri) + Extraction (20 prompts) + Leakage (8 queries)
- 04Synthesize verdict35% MIA + 40% extraction + 25% leakage
runs in-browser - no backend required
Three strategies.
One delivers.
| Layer / Metric | Naive Source DB row only | Standard DB + vector store + cache | Full Unlearning All layers + gradient ascent |
|---|---|---|---|
| Source DB | DELETED | DELETED | DELETED |
| Vector Store | INTACT | PURGED | PURGED |
| Semantic Cache | INTACT | CLEARED | CLEARED |
| Model Weights | MEMORIZED | MEMORIZED | GRADIENT ASCENT |
Run the investigation above to populate live probe results.
Every computation is auditable.
No black boxes.
The full ML pipeline - embeddings, vector store, neural network, gradient ascent unlearning, membership inference - runs in TypeScript. Click a node to inspect.
1class RAGVictimSystem {2 embedder : TfidfEmbedder // vocab + truncated SVD3 vectorStore: VectorIndex // cosine similarity, O(n)4 classifier : MLPClassifier // 128 -> 32 -> 10, ReLU56 async build(records: EmployeeRecord[]) {7 const texts = records.map(serialize)89 // 1. Fit TF-IDF vocabulary + LSA projection10 this.embedder.fit(texts)11 const vecs = texts.map(t => this.embedder.embed(t))1213 // 2. Index embeddings for similarity search14 this.vectorStore.addBatch(vecs, records)1516 // 3. Train classifier (He init, cross-entropy loss)17 await this.classifier.fit(vecs, labels, {18 epochs: 800,19 lr : 1e-3,20 init : "he_uniform",21 })22 }23}The same problem.
Production tools.
Engine Beta replaces every hand-rolled component with its industry-standard equivalent - not because the custom implementation was wrong, but to demonstrate both registers: first principles and production tooling.
| Victim model | Custom 2-layer MLP (TypeScript) | Qwen2.5-0.5B-Instruct + LoRA |
| Unlearning | Gradient ascent (Golatkar 2020) | Task Vector Negation (Ilharco 2023) |
| MIA probe | Loss-based AUC (Shokri 2017) | LiRA Lambda(x) ratio (Carlini 2022) |
| Orchestration | Hand-rolled TypeScript agents | LangGraph StateGraph (parallel) |
| Vector DB | NumPy cosine store | Qdrant HNSW + deletion probe |
| Embeddings | TF-IDF + LSA 128-dim | nomic-embed-text-v1 768-dim |
| Output schema | TypeScript interfaces | Pydantic v2 validated report |
| Runtime | Browser (zero backend) | FastAPI + HuggingFace Spaces |
Grounded in peer-reviewed work.
Right to erasure without undue delay. Non-compliance up to EUR 20M or 4% of global revenue.
India's Digital Personal Data Protection Act 2023. Fines up to INR 250 crore. Enforcement phasing in 2026-27.
All 100 employee records are synthetically generated. No real PII is used or stored anywhere in this system.