Releases: OgenticAI/ogentic-shield
Release list
v0.5.0
[0.5.0] - 2026-06-24
Added
Shield.classify_batch(texts: list[str], *, profile: str | None = None) -> list[AnalysisResult | BatchItemError]— convenience API for analysing multiple texts in a single call. Per-item errors are captured asBatchItemErrorobjects so a single bad input does not abort the whole batch. Empty-list input returns[]immediately. (#42, OGE-1057)
Fixed
- Bumped
mypy>=1.13minimum to accept numpy 2.x PEP 695type X = ...stub syntax during type-checking. Runtime behaviour is unchanged;requires-pythonstays at>=3.10. (#37, OGE-1029)
v0.2.0 — Redaction + MCP Server + Layer 3 + one-click bundle
What's new
The full v0.2 milestone — 15 tickets, 5 PRs, 329 tests passing. Plus a one-click MCP Bundle for non-technical install.
Highlights
- Redaction API —
Shield.redact()/Shield.unredact()with deterministic tokens. Numbers and percentages survive; identifiers get masked; restoration is byte-perfect (OGE-308 / OGE-309). - MCP server — five tools (
shield.analyze,shield.analyze_batch,shield.redact,shield.unredact,shield.profiles) over stdio + SSE. Now async natively (OGE-310 / OGE-311 / OGE-312 / OGE-318 / OGE-319). - Layer 3 (Ollama, opt-in) — localhost-only LLM classification with profile-tuned prompts. Currently disabled by default — measurement showed it trades 15-30pp precision for marginal recall on the OGE-51 benchmarks. See
benchmarks/MOE_COMPARISON.md(OGE-313 / OGE-314 / OGE-315 / OGE-320). - Cross-layer calibration framework — pluggable per-layer calibration (linear / Platt / isotonic), packaged JSON defaults, refit script (OGE-321).
shield-therapy-proprofile — DSM-5-TR named diagnoses, CPT mental-health billing codes, expanded DOB patterns, minor-client markers, trauma indicators (OGE-355).- Custom recognizer SDK —
shield test-recognizerCLI command, template + GDPR example, CONTRIBUTING update (OGE-322). - AsyncShield + analyze_batch — coroutine-friendly variant with
analyze_streamasync generator, parallel batch with per-item failure containment (OGE-318 / OGE-319). ModelRegistry—Shield.required_models()quality tiers (fast / quality / comprehensive) so downstream consumers know what to pre-pull (OGE-315).
Easiest install — MCP Bundle
For Claude Desktop / Goose / Cursor / any MCPB-compatible client:
- Download
ogentic-shield-0.2.0.mcpb(attached below). - Open Claude Desktop → Settings → Connectors →
+→ Install from file → pick the.mcpb. - First launch downloads spaCy's
en_core_web_lgmodel (~600MB, one time). - Five
shield.*tools appear in the connector. Done.
No git, no Python, no terminal.
Developer install
pip install 'git+https://github.com/OgenticAI/ogentic-shield.git@v0.2.0#egg=ogentic-shield[mcp]'
ogentic-shield serve --profile shield-legal --profile shield-financePrivacy contract (unchanged)
All processing runs on the user's device. Layer 3 is contractually localhost-only — LocalhostOnlyError is raised at config load and at client construction if anything else is configured. MCP tool responses default to shape-only entity reporting (no raw matched text leaks unless the caller opts in).
Honest caveat
No model in OGE-320 — including the L1+L2-only baseline — meets every PRD §8 precision target on the current OGE-51 dataset. The L1+L2 stack is reliable for routing decisions (LOCAL_ONLY / REDACT_CLOUD / CLOUD_OK); production callers should leave Layer 3 disabled for now. v0.3 work is prompt-narrowing + a bigger labelled dataset.