Skip to main content

ogentic-shield

Regulatory sensitivity detection for legal privilege, clinical PHI, and financial MNPI.

PyPI Python License

ogentic-shield classifies whether a piece of text — or a whole document — contains content that shouldn't leave a regulated boundary. Attorney-client privilege. HIPAA-protected clinical content. Material non-public financial information. The long tail of PII. It returns a structured AnalysisResult (score, category groups, detected entities, suggested routing) and can redact masked tokens back into plaintext after a round-trip through an external LLM.

Built for the legal, clinical, and financial AI workflows where the wrong default is "ship the prompt to OpenAI and hope."

Why this exists

On February 10, 2026, US v. Heppner (S.D.N.Y.) established that sending privileged content through a third-party AI tool can constitute waiver. The guardrail every regulated org now needs — classify before you call — didn't exist as an OSS primitive. Shield is that primitive.

Install

pip install ogentic-shield                # core (Layer 1 + 2)
pip install 'ogentic-shield[llm]'         # + Layer 3 (Ollama-backed disambiguation)
pip install 'ogentic-shield[mcp]'         # + MCP server (Claude Desktop / Goose / Cursor)
pip install 'ogentic-shield[server]'      # + FastAPI HTTP surface
pip install 'ogentic-shield[all]'         # everything

Layer 1 + 2 require the spaCy en_core_web_lg model: python -m spacy download en_core_web_lg

30-second example

from ogentic_shield import Shield

shield = Shield(profiles=["shield-legal"])

# Text-level analysis
result = shield.analyze(
    "Privileged attorney-client memo: do not disclose to opposing counsel."
)
print(result.score)                  # 0..100 sensitivity score
print(result.category_groups_found)  # {CategoryGroup.PRIVILEGE}
print(result.routing_suggestion)     # "local_only"

# Document-level redaction (v0.4.0+)
redacted = shield.redact_document("memo.txt")
print(redacted.redacted_text)        # entities replaced with deterministic tokens
print(redacted.mapping.tokens)       # token -> original, for round-trip after LLM

The full API — profiles, layers, calibration, redaction, async, MCP, HTTP server, document analysis — is documented on GitHub. See the README on GitHub for the complete reference.

What's in the box

  • Three-layer detection — fast regex (Layer 1) → spaCy NER (Layer 2) → optional local-LLM disambiguation (Layer 3). Each layer adds precision without surrendering recall.
  • Profile-drivenshield-legal, shield-finance, shield-healthcare, custom. Profiles define which categories to flag and at what threshold.
  • Documents APIShield.analyze_document() and Shield.redact_document() handle .txt / .md / .log today; PDF / DOCX / XLSX / EML / MSG / HTML on the roadmap.
  • Token-preserving redactionShield.redact() and the new Shield.redact_document() substitute entities with deterministic [Label_abc123] tokens. Pair with unredact_text() to restore originals after a round-trip through OpenAI / Anthropic / Ollama.
  • MCP serverogentic-shield --mcp exposes Shield as an MCP tool surface (shield.analyze, shield.profiles, shield.calibration). Claude Desktop, Goose, and Cursor all work out of the box.
  • Privacy-first — runs entirely in-process. No telemetry, no Ogentic-hosted infra. The audit row Shield emits is shape-only (hashes, scores, category names) — never the prompt text itself.

Part of a stack

ogentic-shield is the classification leg of the OgenticAI privacy-routing stack:

ogentic-shield  →  ogentic-router  →  ogentic-audit
   (classify)        (route)            (forensic log)

Together they form the open-source foundation for Sotto, OgenticAI's commercial product for regulated professionals.

Links

Release files for ogentic-shield 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ogentic-shield 0.6.0
File Size Uploaded
ogentic_shield-0.6.0.tar.gz 330.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ogentic-shield 0.6.0
File Interpreter ABI Platform
ogentic_shield-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 423.6 kB

Release files / ogentic_shield-0.6.0.tar.gz

Download URL ogentic_shield-0.6.0.tar.gz
Size 330.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2de590eb42a87f9ff6ba101c6891b05170a7937b30b9db6d3b1448edb03d7d73
BLAKE2b-256 checksum
How to use checksums
e45502a9fb4112cad6cff720a57b60faa5bfbca0e0a9ff0b3f1107a49fa5a4d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / ogentic_shield-0.6.0-py3-none-any.whl

Download URL ogentic_shield-0.6.0-py3-none-any.whl
Size 93.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
278f2fbe4662d881fa79f9d747bb566fd101f16388372528eb15464c1f609195
BLAKE2b-256 checksum
How to use checksums
4d6a76049b7cb7738549171f7afb396fab2f4b9e570b4119b8035cdbcf19e2b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.6.1

2 release files

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page