Coming soon. In-product setup for this integration is temporarily marked
Coming soon in the Integration → Connectors catalog while
verification wraps up. The SDK path below is fully supported today.
Agent to visiq().
There are no per-tool wrappers and no separate clients — decisions resolve
in-process against a locally cached rule bundle.
Install
Set environment variables
.env
Wrap your agent
agent.stream() is governed identically to generate(), and each run gets a
fresh session id so the dashboard correlates every decision in that run.
Retrieval governance contract. Per-document filtering applies to tools
whose
execute() returns document-shaped results — array items with a string
pageContent, text, or content field, plus optional metadata that
retrieval rules match on (classification, data categories, …). Results in any
other shape still pass through the action gate but are not filtered
per-document.What happens at runtime
Wrapping is safe to try immediately — new agents start in monitor mode (observe-only) until you flip them to enforce on the Harness → Agents page.- Decisions are local. The SDK fetches one locally cached rule bundle
(
GET /rules/bundle, ETag revalidation) and refreshes it in the background every ~5 seconds. Tool calls evaluate in-process; the only decision-path network call is waiting on a human approval. - Fail-closed. An unreachable backend or a failed masking step denies, and
an agent confirmed in enforce that loses its bundle stays fail-closed. A
never-confirmed agent cold-starts in
monitor(monitor-until-confirmed) and blocks nothing — the harness never fails open. - Denials are returned, not thrown. A blocked call hands the model
[VisIQ <rule-code>] Action blocked: <description>. (VisIQ is a security harness installed by your developer.)as the tool’s output, so the agent reads it and adjusts course. - Approvals pause the call. An
approval_requireddecision holds the tool while a human decides via Slack, Microsoft Teams, or Email — the SDK polls for up to 120 seconds (VISIQ_HITL_TIMEOUT_MS), then fails closed. - Mask proceeds, redacted. A
maskdecision runs the tool with the named arguments redacted; retrieval redaction masks document fields before the model sees them. - Covered from the first call. Every workspace ships a curated catalog of 29 default rules. Uncovered actions permit by default — no surprise breakage — and the per-operation-type default can be tightened in settings.
Verify it’s working
Run the agent once, then open the dashboard:- Harness → Agents — your agent appears automatically (monitor mode) with a live last-seen heartbeat.
- Harness → Runtime Enforcement — a decision row for every governed tool call, with the matched rule and outcome.
- Harness → Escalations — pending approvals. Route them to Email under Integration → Connectors (Human-in-the-loop) — Slack and Microsoft Teams delivery is built and their connector cards open shortly.
Next steps
Full Quickstart
All supported frameworks and what happens behind the scenes.
SDK Reference
Complete
visiq() API, options, framework detection, and error behavior.