Governance outcomes
A single rule engine evaluates every event and resolves it to exactly one outcome. The same verb set spans both operation facets, though a few verbs only make sense on one facet (a document can’t pause a human; a tool call can’t be “redacted” the way a document is). See the full behavior in the SDK Reference.Two verbs name the same idea per facet: an action that proceeds is
permit; a
document that proceeds is allow. The unified engine treats them as the one
“passed unchanged” outcome, split only by which facet produced it.Operation facets
Every event carries a multi-valuedoperations[] tag describing what the agent
is trying to do. A rule can target one facet or several, and a single hybrid tool
(one that both reads and writes) carries more than one facet at once.
A tool that both retrieves and mutates (for example
retrieve_and_archive) is a
hybrid: one decision tagged ['retrieval', 'action'] governs both legs at once —
the action side gates the call, the retrieval side filters what comes back.
Agent modes
Every agent runs in exactly one mode. The mode is server-authoritative — resolved on the backend and shipped to the SDK inside the rule bundle, where a running agent picks up a change within seconds. Set it on the Harness → Agents page, not in SDK config. See Agent modes.
A new agent is auto-provisioned in
monitor on first contact. Each agent’s mode
can inherit an org-wide default or be overridden per agent — and even
pinned per operation facet via mode_by_operation (for example, enforce actions
while keeping retrievals in monitor).
Trust tiers
Every agent is assigned a trust tier that, combined with its business function, drives the seeded need-to-know defaults (a curated catalog of 35 default rules). Tiers run from most to least trusted:
The matrix is need-to-know: an agent that needs a data category for its function
gets it at its tier; an agent with no need-to-know never sees raw values. See
Retrieval Governance.
Audit-trail primitives
Every decision emits tamper-evident evidence automatically — no SDK import, no extra call. These terms describe how a raw decision becomes independently verifiable. See Audit Trail and Decision Receipts.Key audiences
VisIQ issues API keys in two audiences. Audience is fixed at creation and is not derivable from the key string — thevq_prod_ / vq_test_ prefix encodes
the environment, not the audience. See
Authentication and Managing API keys.
A harness key that calls a management endpoint is rejected with
403 harness_key_not_permitted; a management key is a superset and may also reach
the runtime endpoints its permissions cover.
See also
SDK Reference
Outcomes, framework detection, agent modes, and local evaluation in depth.
Authentication
Key audiences, permissions, rotation, self-revoke, device flow, and MCP.