Skip to main content

Intaris

intaris

Intaris helps detect when an AI agent may be drifting from the user's intention. It combines intention-aware evaluation of tool calls with behavioral analysis over a session and across sessions. Works with OpenCode, Claude Code, OpenClaw, and any MCP-compatible client.

Intention guardrails. Intaris evaluates tool use against the user's stated intention, including explicit restrictions. A read-only fast path handles routine calls; other calls can go through model evaluation and, when needed, escalation. Evaluations are recorded in an audit trail.

Behavior analytics. Session summaries and cross-session analysis can surface patterns that a single tool call may not show.

Real-time. Sub-second evaluation with a priority-ordered decision matrix. Read-only calls resolve in under 1ms. LLM evaluations complete within the 5-second circuit breaker. WebSocket streaming for live monitoring.

Self-hosted. Single Python process, SQLite or PostgreSQL storage, no external dependencies beyond an LLM API key. Your code and audit trail stay under your control.

Intaris is not a sandbox, an antivirus, or proof that an agent cannot construct harmful actions. Pair it with a sandbox that isolates filesystem and network access and limits available tools when working with untrusted agents.

See Intaris purpose and threat model for scope and deployment guidance.

Part of the Cognara platform (Cognis controller, Intaris guardrails, Mnemory memory).

Features

  • Tool-call assessment -- Jev or an OpenAI-compatible model assesses action facts. Assessment is not itself permission.
  • Policy-controlled decisions -- The hybrid pipeline combines controller evidence, policy obligations and bounded model assessments. The legacy pipeline remains available; identify the mode when comparing results.
  • Source-aware review -- Independent Judge review can consider original task instructions and scoped runtime evidence without treating generated summaries as user consent.
  • Session management -- Hierarchical parent/child sessions with intention tracking, lifecycle states, and idle sweep.
  • Intention tracking -- User-driven intention model with IntentionBarrier for real-time updates and AlignmentBarrier for parent/child enforcement.
  • MCP proxy -- Sits between clients and upstream MCP servers, applying Intaris evaluation with per-tool preference overrides.
  • Audit trail -- Every evaluation is logged with decision, reasoning, risk level, classification, latency, and redacted arguments.
  • Secret redaction -- API keys, passwords, tokens, and connection strings are automatically redacted before audit storage.
  • Filesystem path protection -- Working directory enforcement with approved path prefix learning from LLM approvals.
  • Session recording -- Full-fidelity event logs with live tailing, playback, chunked ndjson storage (filesystem or S3), and a bounded local cache for immutable S3 chunks.
  • Cognis-ready auth -- Accepts Cognis-issued ES256 JWTs for service-to-service calls while keeping standalone API key auth for direct clients.
  • Behavioral analysis -- Three-layer system: per-call data collection, session summaries, and cross-session behavioral profiling.
  • Management UI -- Built-in web dashboard with session tree view, audit log, approval queue, MCP server management, and real-time charts.
  • Judge review -- A separately configured model reviews eligible escalations within policy limits. Review can approve, refuse, ask, or be unavailable; it is not a guarantee against unnecessary escalations or unsafe decisions.
  • Webhook callbacks -- HMAC-signed escalation notifications for external approval systems.
  • Notification channels -- Per-user push notifications (Pushover, Slack, webhook) with one-click approve/deny action links.
  • Rate limiting -- Per-session sliding window rate limiter to prevent runaway agents.

Quick Start

The experimental hybrid runtime also supports single-call rich intention generation, without a second extraction request.

Intaris needs an OpenAI-compatible API key for safety evaluation. It picks up LLM_API_KEY from your environment automatically.

LLM_API_KEY=sk-your-key uvx intaris

That's it. Intaris starts on http://localhost:8060, management UI at http://localhost:8060/ui.

Now integrate with your agent. We already ship extensions for some clients. For example for OpenCode, install the plugin:

export INTARIS_URL=http://localhost:8060
cp integrations/opencode/intaris.ts ~/.config/opencode/plugins/

Intaris can also serve as MCP proxy with audit trail and guardrails for tool calls. To use that, configure any MCP client to use intaris as a single MCP server:

{
  "mcpServers": {
    "intaris": {
      "type": "streamable-http",
      "url": "http://localhost:8060/mcp"
    }
  }
}

And add MCP servers via Intaris UI or config.

Intaris is also available via Docker, pip, or production setup. See the full quick start guide for more clients and options.

Screenshots

Dashboard
Dashboard -- evaluation metrics, decision distribution, performance stats, and activity timeline

Sessions
Sessions -- hierarchical tree view with expandable session details and recent evaluations

Approvals
Approvals -- pending escalations with reasoning, arguments, and one-click approve/deny

Behavioral Profile
Analysis -- behavioral risk profile with per-agent risk indicators and trends

Analysis Trend
Analysis -- cross-session behavioral trend tracking over time

Suspicious Session
Sessions -- suspicious session detail with evaluation reasoning and risk assessment

Critical Denied
Audit -- critical tool execution denied with detailed reasoning

See the Management UI docs for all tabs and features.

Supported Clients

Client Integration Setup Guide
OpenCode Plugin (intaris.ts) OpenCode Guide
Claude Code Hooks (bash scripts) Claude Code Guide
OpenClaw Plugin (@fpytloun/openclaw-intaris) OpenClaw Guide
Hermes Agent Plugin (hermes-intaris) Hermes Guide
Any MCP client MCP proxy (/mcp endpoint) MCP Proxy Guide

Plugin/Hooks give fine-grained control: custom error messages, fail-open/fail-closed behavior, session lifecycle management, and behavioral analysis. MCP proxy is zero-code configuration but with less UX control.

How It Works

Intercept. The client integration (plugin, hooks, or MCP proxy) captures every tool call before execution and sends it to Intaris for evaluation.

Establish context. The hybrid pipeline distinguishes authenticated user/controller evidence from agent descriptions, tool output and generated summaries. Coverage and provenance matter; loaded skills and shell-target details are context, not grants.

Assess and decide. The configured evaluator supplies bounded action assessments. Deterministic policy owns permissions and outcome limits; the classifier does not become the final authority on task scope or user consent.

Review when required. Judge independently reviews eligible escalations using original task evidence. Unavailable review is distinct from a user refusal. Transient model and routing failures use bounded retries; retries do not authorize or execute the proposed tool.

This describes the hybrid pipeline. Legacy behavior remains selectable; see stage separation, configuration, and the release verification record.

Benchmark Results

Benchmark results apply to a specific revision, corpus, configuration and grading method—not every deployment. Earlier headline scores are not current release measurements. Historical experiments include both harmful approvals and unnecessary blocks; a targeted regression pass cannot replace a complete rerun.

The final balanced authorization replay collected 225 action observations and recorded 144 history checkpoints. The earlier four forged-push approvals are now blocked, while valid scoped push, same-action human approval, local tests and lint remain approved across three trials. All 27 benign source-counterfactual observations are approved. History qualification remains incomplete: 21 checkpoint rows lack established evidence. The report preserves the baseline, failed iterations, label caveats and cumulative cost rather than presenting a universal safety score.

See the Benchmarking docs for methodology, scenario details, and how to run your own benchmarks. The September Jev assessment and October redesign measurements are historical comparisons, not measurements of the current release candidate.

Documentation

Document Description
Purpose and Threat Model Intaris's purpose, scope, and recommended deployment layers
Quick Start Get running in 5 minutes
Architecture System design, layers, and key decisions
Evaluation Pipeline Classification, LLM evaluation, and decision matrix
Jev Evaluator Experimental L1 backend, measured Groq comparison, and status
Configuration Environment variable reference
REST API Full API endpoint reference
MCP Proxy MCP proxy setup, tool namespacing, and preferences
Management UI Built-in web dashboard
Deployment Production deployment guide
Development Contributing, tests, and code conventions
OpenCode Integration OpenCode plugin setup
Claude Code Integration Claude Code hooks setup
OpenClaw Integration OpenClaw extension setup
Benchmarking Guardrails benchmark system

License

Business Source License 1.1 — see LICENSE for the full text.

The Licensed Work is (c) 2026 Filip Pytloun. You may use the Software for your own internal business operations free of charge. Commercial use (SaaS, managed services, or as a component of a commercial product) requires a separate license. On the Change Date (2030-03-15), the license converts to Apache License 2.0.

For alternative licensing arrangements, contact: filip@pytloun.cz

Metadata

Release files for intaris 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intaris 0.13.0
File Size Uploaded Provenance
intaris-0.13.0.tar.gz 5.8 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for intaris 0.13.0
File Interpreter ABI Platform
intaris-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.6 MB

Release files / intaris-0.13.0.tar.gz

Download URL intaris-0.13.0.tar.gz
Size 5.8 MB
Tags Source
SHA-256 checksum
How to use checksums
cd525f819e03426ff1c01deac754ff265c1a23738cc952433ac0f7f0379820d0
BLAKE2b-256 checksum
How to use checksums
c7c54226b242d4884778f6d24ab7787267c35dc53d6bd653a3d264f9e40ad50c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / intaris-0.13.0-py3-none-any.whl

Download URL intaris-0.13.0-py3-none-any.whl
Size 795.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f602035da4af5f6bbd7451262b4ea120be88ed41ba49fd227606d47bd875a5fb
BLAKE2b-256 checksum
How to use checksums
673306036b0879e0d7a364eb57fcfa7f474a6f75a642e10e5bc62addce133807
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Security for intaris 0.13.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for intaris-0.13.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page