[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1041":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},1041,"privacy-parser","chiefautism\u002Fprivacy-parser","chiefautism","Reverse of OpenAI Privacy Filter: same 1.5B model, returns PII as structured spans instead of masking.",null,"Python",399,35,393,1,0,3,7,4.67,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:00:22","# OpenAI Privacy Parser\n\nOpenAI shipped [Privacy Filter](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fprivacy-filter) — a\nmodel that **hides** PII in text. Defenders use it so data doesn't leak.\n\nBut every defense has a second side. Attackers need PII too. From logs,\ndumps, abandoned S3 buckets, stolen inboxes. Same task: find everything\npersonal in a pile of text.\n\n**Privacy Filter masks. Privacy Parser extracts.**\n\nSame model, same label taxonomy, same weights. Instead of `\u003CREDACTED>` you\nget structured spans — what, where, which type.\n\nDefense: audit your data before it leaks.\nOffense: parse someone else's after it did.\n\nThe tool doesn't know whose side it's on. It's just a good parser.\n\n---\n\n## Install\n\n```bash\nuv venv\nuv pip install -e .\u002Fprivacy-filter\nuv pip install -e .\u002Fpii_parser\n```\n\nFirst run downloads the opf 1.5B checkpoint (~3 GB) to `~\u002F.opf\u002Fprivacy_filter\u002F`.\n\n## Use\n\n```python\nfrom pii_parser.hybrid import HybridPIIParser\n\nparser = HybridPIIParser(device=\"cpu\")\nresult = parser.parse(\n    \"Hi Quindle Testwick (quindle.testwick@openai.com \u002F +1-415-555-0102), \"\n    \"account 40702810500001234567, 14 Beautiful Ct, Anytown USA, \"\n    \"password Priv4cy-Filt3r-2026.\"\n)\nfor s in result.spans:\n    print(f\"{s.label:18}  {s.text}\")\n```\n\n```\nprivate_person      Quindle Testwick\nprivate_email       quindle.testwick@openai.com\nprivate_phone       +1-415-555-0102\naccount_number      40702810500001234567\nprivate_address     14 Beautiful Ct, Anytown USA\nsecret              Priv4cy-Filt3r-2026\n```\n\n### CLI\n\n```bash\npython -m pii_parser.cli_model \"Alice paid 40702810500001234567 on 2026-05-17.\"\n```\n\n## Three backends\n\n| Backend            | Weights | Speed       | F1    |\n| ------------------ | ------- | ----------- | ----- |\n| `PIIParser`        | none    | µs          | 1.000 |\n| `ModelPIIParser`   | 1.5B    | 500 ms CPU  | 0.733 |\n| `HybridPIIParser`  | 1.5B    | 600 ms CPU  | 0.929 |\n\nHybrid = model + span-merge + regex backstop. Ship this one.\n\n## Labels\n\nopf v2 taxonomy — 8 categories:\n\n`private_person` · `private_email` · `private_phone` · `private_address` ·\n`private_url` · `private_date` · `account_number` · `secret`\n\n## Architecture\n\n```\ntext\n  ↓\nopf 1.5B → BIOES logits → Viterbi (tuned) → char spans\n  ↓\nspan-merge (glues Quindle + Testwick)\n  ↓\nregex backstop (URL, secret, account — where the model misses)\n  ↓\nspans[]\n```\n\n## Benchmarks\n\n```\npython pii_parser\u002Ftests\u002Ftest_hybrid.py\n```\n\n```\nFixture F1:  0.929\nScenarios:   8\u002F8 passed\nLatency:     ~600 ms CPU\n```\n\n## License\n\nApache-2.0.\n","该项目是一个用于从文本中提取个人身份信息（PII）的工具，与OpenAI的隐私过滤器功能相反。其核心功能是利用1.5B参数模型识别并以结构化方式输出文本中的敏感信息，如姓名、电子邮件、电话号码等，而不是简单地进行遮掩处理。技术上，它结合了深度学习模型、Viterbi算法和正则表达式来提高解析精度，并支持三种后端实现以适应不同场景需求。适用于需要对大量文本数据进行隐私审计或分析的情况，比如在数据泄露后的调查过程中寻找暴露的个人信息。",2,"2026-06-11 02:41:14","CREATED_QUERY"]