Skip to main content

coreason-aegis

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

License CI Ruff Docs 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

  • Async-Native with Sync Facade: Designed for high-performance async environments with a convenient synchronous wrapper.
  • 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 documentation, see:

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
from coreason_identity.models import UserContext
from coreason_identity.types import SecretStr

# Initialize Aegis
aegis = Aegis()

# Create User Context (Required)
context = UserContext(
    user_id=SecretStr("user_123"),
    roles=["analyst"]
)

# 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, deid_map = aegis.sanitize(
    text=user_prompt,
    session_id=session_id,
    context=context,
    policy=policy
)

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(
    text=llm_response,
    session_id=session_id,
    context=context,
    authorized=True
)

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

For more examples, see the Usage Guide.

Metadata

Release files for coreason-aegis 0.4.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 coreason-aegis 0.4.0
File Size Uploaded
coreason_aegis-0.4.0.tar.gz 17.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for coreason-aegis 0.4.0
File Interpreter ABI Platform
coreason_aegis-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.6 kB

Release files / coreason_aegis-0.4.0.tar.gz

Download URL coreason_aegis-0.4.0.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
df96d5bfc214fcd9f241871e3536fb597e9cd6cb9e10caddfb30764e292addbf
BLAKE2b-256 checksum
How to use checksums
de4cc7edbc8ee0d6b559c51bd1006d1c8f5abcedfecb6eab678003bee5d5ba3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 30, 2026.

Transparency log

Release files / coreason_aegis-0.4.0-py3-none-any.whl

Download URL coreason_aegis-0.4.0-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51081a27c62b6d0b5d67088755ef1f42c312cdde16d159cd289d96d410224665
BLAKE2b-256 checksum
How to use checksums
289419d05e29bff2de60261fe1a0de149a8edd93f1f1a5015c4689512cb5276a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.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