Zero-Egress
Payloads are hashed locally using SHA-256. Only the hash is transmitted - your data never leaves your environment.
pip install glacisfrom glacis import Glacis
# Offline mode - works immediately, no API key neededglacis = Glacis(mode="offline")
receipt = glacis.attest( service_id="my-ai-app", operation_type="inference", input={"prompt": "..."}, # Hashed locally, never sent output={"response": "..."}, # Hashed locally, never sent)
print(receipt.attestation_id) # oatt_xxxprint(receipt.witness_status) # UNVERIFIED| Data | Transmitted? |
|---|---|
| Your prompts | No - SHA-256 hash only |
| Model outputs | No - SHA-256 hash only |
| API keys | No |
| Timestamps | Yes |
| Service ID | Yes |
Your sensitive data stays local. Only cryptographic commitments are transmitted for witnessing.
Zero-Egress
Payloads are hashed locally using SHA-256. Only the hash is transmitted - your data never leaves your environment.
Offline Mode
Works immediately without an API key. Receipts are self-signed with Ed25519 and marked “UNVERIFIED”.
Provider Integrations
Auto-attesting wrappers for OpenAI and Anthropic. Every API call is automatically attested.
Verifiable
Receipts can be independently verified. Online mode adds Merkle proofs and a transparency log.
| Feature | Offline | Online |
|---|---|---|
| API key required | No | Yes |
| Signing | Local Ed25519 | Glacis witness |
| Merkle proofs | No | Yes |
| Verification URL | No | Yes |
| Witness status | UNVERIFIED | VERIFIED |
Start with offline mode for development. Upgrade to online when you need third-party verifiability for audits, papers, or customer due diligence.