coreason-aegis
A bidirectional privacy filter that sits between the CoReason platform and the external world.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| coreason_aegis-0.4.0.tar.gz | 17.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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