Skip to main content

bidirectional privacy filter that sits between the CoReason platform and the external world

Project description

coreason-aegis

A bidirectional privacy filter that sits between the CoReason platform and the external world.

License CI Ruff Docs

coreason-aegis implements a "Tokenize & Detokenize" strategy. Before any text leaves the secure perimeter (e.g., to OpenAI), Aegis scans it for sensitive entities (Names, MRNs, SSNs, Emails) and replaces them with consistent, context-aware tokens. When the LLM responds using these tokens, Aegis intercepts the message and re-injects the real data only for the authorized user's eyes.

Features

  • Scan-Mask-Map-Reveal Loop: Deterministic tokenization ensures LLM reasoning consistency.
  • The "Vault" of Identity: Ephemeral, encrypted mapping tables.
  • Context Preservation: Uses tokens like [PATIENT_A] instead of [REDACTED].
  • Custom Recognizers: Supports custom entities like MRNs, Protocol IDs, and Lot Numbers.

For detailed requirements, see Product Requirements.

Installation

pip install coreason-aegis

Or using Poetry:

poetry add coreason-aegis

Note: You may need to download the Spacy model manually if not handled by the package installer:

python -m spacy download en_core_web_lg

Usage

from coreason_aegis.main import Aegis
from coreason_aegis.models import AegisPolicy, RedactionMode

# Initialize Aegis
aegis = Aegis()

# Define a policy
policy = AegisPolicy(
    allow_list=["Tylenol"],
    entity_types=["PERSON", "EMAIL", "PHONE_NUMBER"],
    mode=RedactionMode.REPLACE,
    confidence_score=0.7
)

# Sanitize user prompt
user_prompt = "Patient John Doe (DOB: 12/01/1980) has a rash."
session_id = "session_123"
sanitized_prompt, mapping_id = aegis.sanitize(user_prompt, policy, session_id)

print(f"Sanitized: {sanitized_prompt}")
# Output: "Patient [PATIENT_A] (DOB: [DATE_B]) has a rash."

# ... Send to LLM ...
llm_response = "For [PATIENT_A], considering the rash..."

# Desanitize LLM response
final_response = aegis.desanitize(llm_response, session_id, mapping_id)

print(f"Final: {final_response}")
# Output: "For John Doe, considering the rash..."

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coreason_aegis-0.1.0.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coreason_aegis-0.1.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file coreason_aegis-0.1.0.tar.gz.

File metadata

  • Download URL: coreason_aegis-0.1.0.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for coreason_aegis-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7e3eb3920d1df6c1c18b4e10769710a47d2b67100c00b8d42214380c7d263888
MD5 b84680a9b39bd0cc7bfeef18251ffdc6
BLAKE2b-256 e3405baccb91d19250810dfaa5ec26a29dbd5a1d8af039c367689f1b7074df60

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_aegis-0.1.0.tar.gz:

Publisher: publish.yml on CoReason-AI/coreason-aegis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coreason_aegis-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: coreason_aegis-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for coreason_aegis-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 814ba8581d2ca4e22a8d2e66fdb7cb188b69071d686addfe73810da17f22171a
MD5 06901f83b173c01b4ea89485aa7c5a0f
BLAKE2b-256 552e9aa7e2b9906b0e1e4e1217ddbfe8fb5870c0a139c6576893838794ac63b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_aegis-0.1.0-py3-none-any.whl:

Publisher: publish.yml on CoReason-AI/coreason-aegis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page