{"repo":"fishonbike/vault-engine","free":true,"listed":false,"github":"https://github.com/fishonbike/vault-engine","clone":"git clone https://github.com/fishonbike/vault-engine.git","description":"A local-LLM privacy layer for anything you paste into a cloud model — detect, tokenize, restore. Zero deps, reversible, strong on Chinese.","language":"Python","stars":23,"topics":["chatgpt","claude","data-privacy","gemini","llm","local-first","local-llm","pii","privacy","pseudonymization"],"license":"Apache-2.0","category":"ai-agents","readme_excerpt":"vault-engine English · 简体中文 A local-LLM privacy layer for anything you paste into a cloud model. Strip the identities out of your text before it reaches ChatGPT / Claude / Gemini — a model running on your own machine finds the names, orgs, places and quasi-identifiers, replaces them with stable tokens, and keeps the only key-back-to-reality on disk. When the cloud answers in tokens, you put the real identities back locally. Best-effort de-identification — not legal anonymization or a privacy guarantee. Review high-risk material before sending. 出云前做身份脱敏：本地模型检测 → 代号化 → 云端用代号分析 → 本地还原真身。 检测 不出本机 ，身份映射 只存本地 ，大模型 一行换 。零依赖。 &nbsp;·&nbsp; Python ≥3.9 &nbsp;·&nbsp; stdlib-only &nbsp;·&nbsp; Apache-2.0 --- Why You want a frontier cloud model to analyze sensitive notes — but you don't want the cloud to learn who they're about. Masking only the names you already know leaks everything you don't: an unregistered name, an employer, a city + a rare title, a project codename. Pattern-based redaction never sees those at all. vault-engine puts a local model in front as the detector, so the semantic identifiers get caught too — and nothing but the sanitized text ever leaves. How it works Benchmark How much identity each detector actually catches, on a labelled bilingual dataset (reproduce with python eval/run eval.py ; methodology in eval/ ): 77 gold identities across 15 bilingual documents — easy PII plus hard cases (ambiguous common-word names, abbreviations, transliterations, @handles, a bad","default_branch":null,"files":null,"tree":[],"storefront":"/r/fishonbike","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fishonbike/vault-engine/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}