Python SDK

Package salanor-aegis — APS-1 sign, ingest, trace/span record helpers, and policy enforcement for Python agents. Matches TypeScript canonical signing (conformance vectors).

HTTP proxy: TypeScript wrapFetch is not ported. Use enforce_tool_policy before sensitive outbound calls, or POST /v1/aegis/policy/evaluate directly.

Installation

Your project
pip install salanor-aegis
# or from Salanor source:
# pip install /path/to/salanor/sdks/python

Record helpers

trace + policy deny
import os
from salanor_aegis import (
    IngestOptions, PolicyDeniedError, RecordContext, RecordOptions,
    SignOptions, enforce_tool_policy, new_trace_id, record_trace_start,
)

sign = SignOptions(
    private_key_b64=os.environ["SIGNING_PRIVATE_KEY_B64"],
    key_id=os.environ["KEY_ID"],
)
ingest = IngestOptions(
    api_base_url=os.environ.get("AEGIS_API_URL", "https://api.salanor.com"),
    ingest_api_key=os.environ["AEGIS_INGEST_API_KEY"],
)
opts = RecordOptions(sign=sign, ingest=ingest)
ctx = RecordContext(
    organization_id=os.environ["ORGANIZATION_ID"],
    agent_id=os.environ["AGENT_ID"],
    key_id=os.environ["KEY_ID"],
    trace_id=new_trace_id(),
    actor_principal="support-bot",
)

record_trace_start(ctx, trigger_source="webhook", options=opts)
try:
    enforce_tool_policy(ctx, "stripe.paymentIntents.create", opts)
except PolicyDeniedError:
    pass  # policy_decision event ingested; tool not run

Exports

  • sign_and_ingest, sign_event, verify_event_signature
  • record_trace_start, record_llm_invocation, record_data_access, record_decision, record_provenance_claim
  • start_span, end_span, new_trace_id, new_span_id
  • enforce_tool_policy, evaluate_policy_via_api, PolicyDeniedError
  • enrich_provenance_payload, digest_hex

See also