Where intentions come from
Two paths:- Generalize from observation — Inviolet’s
Generalizeworkflow suggests intentions based on observed query patterns. Best for teams with 2+ weeks of observation data. - Manual declaration — write an intention against a known workflow. Best for greenfield use cases.
Anatomy of an intention
elementsis the column allowlist. Anything outside this list will be rewritten or blocked at the database proxy.ttl_secondsbounds the lifetime of any intent token minted under this intention.identity_requiredforces an IdP-authenticated user_id to be present on every call.approval_requiredroutes the call through a Slack / email approval queue before any intent token is minted.
Create the intention
- App dashboard → Intentions → Compose (new in Phase 18 lifecycle)
- Fill the form fields above
- Save — the intention is created in shadow mode by default
Run in shadow mode
Shadow mode evaluates the policy on every matching tool call but does NOT block anything. The decision feed shows what would have happened. Watch this for a week or two.Promote to live
Once the shadow stats look right (low false-positive denials, high match-rate on intended traffic), promote with one click: App dashboard → Intentions → pick the intention → Promote to live Promotion is immediate. The next matching tool call gets a live decision written to the audit log.Read next
- Generalize from observation — the alternate creation path
- Intent tokens — what gets minted on approval