Technical documentation

Turn AI events into verifiable audit logs.

One event contract for chatbots, agents, workflows and local models. Raw content stays inside the customer system; Azalee receives control events and locally created fingerprints.

What Azalee proves

Azalee stores technical events in a tamper-evident chain and produces verifiable exports, Merkle inclusion proofs and external timestamp evidence. A matching hash shows that a locally supplied record matches the committed fingerprint.

Interpretation limit: This does not automatically prove that content is true, a decision is correct, every real action was logged, or a system complies with law. The events required for a specific use case depend on the system, role, risk and jurisdiction.

Quickstart: one completed interaction

For a simple integration, the customer backend sends one event after a successful AI interaction. Keep the secret webhook URL on the server. Hash input and output locally; do not transmit raw text, customer data or secrets.

POST https://azalee.garden/api/webhook?token=wh_…
Content-Type: application/json

{
  "event": {
    "event_type": "interaction.completed",
    "status": "completed",
    "session_id": "sess_42",
    "correlation_id": "turn_9",
    "input_hash": "sha-256:<local-hash>",
    "output_hash": "sha-256:<local-hash>",
    "model_provider": "configured-provider",
    "model_name": "configured-model"
  },
  "metadata": { "source": "customer_backend", "storage": "hash_only" }
}

Complete interaction lifecycle

For fine-grained evidence, every event in one turn uses the same session_id and correlation_id. The sequence makes success, blocking and failure visible.

SequenceEventTechnical evidence
1interaction.startedinput_hash
2model.response.completed or model.response.failedInput/output hash, model and duration
3output.delivered or output.blockedoutput_hash and optional reason code
4interaction.completed or interaction.failedFinal status and total duration

Tool, policy and oversight events

Data minimization and operations

Suitable control fields include event type, status, duration, opaque session and correlation IDs, model and configuration versions, policy ID, reason code and fields ending in _hash. Do not send raw prompts, answers, transcripts, files, tool payloads, customer records, email addresses, passwords, API keys, authorization headers or tokens.

Delivery is fail-open: use short timeouts and stable idempotency keys, record delivery errors locally, and never block the user response or tool execution because audit delivery failed.

Public technical endpoints