Skip to content

Concepts

Caracal is built around a small set of concepts that compose cleanly. Understanding them in order gives you a working mental model of the whole system before touching any code.

The concepts below build on each other. Read the Authority Model first — it explains why the other concepts exist. Then read them in the order they appear in the sidebar.

ConceptOne-line definition
Authority ModelThe decision contract that governs every token exchange
MandateThe short-lived, signed credential issued after a policy allows exchange
PolicyThe Rego document that decides whether exchange is permitted
Principal and ApplicationWho is making the request
ZoneThe tenancy boundary that owns keys, policies, and resources
Resource and GrantWhat agents can access and who is permitted to access it
Delegation GraphHow authority passes from one agent to another
Caveats and ConstraintsLimits attached to delegation edges
Sessions and RevocationAgent session lifecycle and how authority is withdrawn
Audit LedgerThe tamper-evident record of every decision
Step-Up ChallengeHow policies require elevated proof before granting access

The docs use these terms with strict meaning throughout:

  • Mandate — the JWT issued by the STS. Other systems call this an “access token.” Caracal calls it a mandate because it is explicitly authorized by policy before issuance.
  • Principal — the actor making a request. In practice, always an Application.
  • Zone — the tenancy boundary. Never synonymous with “environment” or “region.”
  • Policy — a Rego document registered in Caracal. Not to be confused with IAM policies from other systems.
  • Session — an agent session tracked by the Coordinator. Distinct from a user HTTP session.