provenza
Binds agents to GitHub Actions workloads through workload attestation, strengthening agent identity and authorization.
Binds agents to GitLab workloads through workload attestation, strengthening agent identity and authorization.
Binds agents to Google Cloud workloads through workload attestation, strengthening agent identity and authorization.
Binds agents to Kubernetes workloads through workload attestation, strengthening agent identity and authorization.
Routes agent LLM calls to OpenAI models through the governed OpenAI-compatible gateway, enforcing policies and recording call metadata without storing prompts or answers.
Supports OpenID Connect single sign-on so identities from an external identity provider can authenticate; disabling a user at the provider revokes sessions and their agents' keys.
AI entered your company through every door at once β shadow AI on laptops, autonomous agents delegating to each other, and no way to prove who authorized what. Most governance tools watch one door. Provenza covers them all, under one set of rules.
π Try the live demo
stickstock.lol β organization demo, e-mail demo@stickstock.lol,
password provenza-demo. A read-only login to a demo bank: agents with their own
keys, a signed delegation chain, denied and held actions, a refused privilege
escalation, AI tools found on employees' laptops. In Agent activity β Live Map,
click a delegation and check its signature in your browser. The data is made
again every night.
Related MCP server: FusionAL
π Deploy on your server
Requirements: Linux with systemd (Ubuntu 24.04+, Debian 13+, RHEL/Rocky 9.3+ or Fedora), 4 GB RAM, a domain pointing at the server. The installer sets up Podman itself.
git clone https://github.com/kironovlaziz-del/provenza.git /opt/provenza
cd /opt/provenza
sudo ./install.shThe installer asks for your domain and the first administrator, generates every
secret, runs the stack as rootful Podman containers managed by systemd (Quadlet),
gets an HTTPS certificate and schedules a daily backup.
It also puts the egress proxy and the endpoint agent on the server, with their keys -
nothing to copy from the interface; add --sensor for the eBPF egress sensor.
Upgrades are one command, sudo provenza upgrade: it backs up first and rolls back if the
new version does not come up. Full guide: docs/self-hosting.md.
Connect an agent from the interface: Agents β New agent β Connect an AI client gives one command for the machine where Gemini CLI, Claude Code, Cursor or any OpenAI-compatible client runs. The agent's keys are made there and never leave it.
Govern egress on another Linux host: Runtime β Register sensor gives a one-line command that downloads the sensor from your Provenza (no Go, no git there).
Just looking? On your own computer, not a server (demo password, development
secrets): docker compose -f docker-compose.dev.yml up --build - or podman compose
with Podman - then http://localhost:3000 with organization demo, admin@demo.com /
demo12345 (development guide).
β¨ What makes it different
π Verifiable Agent Governance
When one AI agent delegates a task to another, the delegating agent signs the handoff β the delegated capabilities, the TTL, a single-use nonce and a timestamp β with Ed25519, or with a post-quantum hybrid key (Ed25519 and ML-DSA-65, FIPS 204), where both signatures must verify. With agent-held keys, Provenza stores only the public key, so it cannot sign in the agent's name. Recorded agent actions are signed the same way and bound to the policy check that allowed them.
Proof that does not depend on trusting Provenza: download the evidence for any
delegation or action and check it offline with tools/provenza_sign.py or plain
OpenSSL, against the key fingerprint the agent's owner gave you. On the live
delegation map, click an edge to run the same check in your browser.
This is the kind of verifiable accountability the EU AI Act asks for β made clickable (how it works). What it does and does not guarantee is spelled out in the security model.
π¦ active agent π₯ policy violation β verified delegation β blocked chain β verified in your browser
πΈ Screenshots
π§© Features
π― Governance β default
Governed LLM gateway β agents reach OpenAI, Anthropic, Groq, Azure OpenAI or a self-hosted model through one OpenAI-compatible gateway, under the same rules. Every call is recorded as metadata (model, outcome, tokens, time) β the prompt and the answer are never stored. "Self-hosted providers only" is one switch.
Policy hierarchy and approvals β one policy at three levels (organization β team β agent; lower levels only tighten), visual agent rules, and a person's approval for risky agent actions (policy hierarchy).
ποΈ Shadow AI β unsanctioned AI
Endpoint agent finds local models and AI agents (Claude Code, Cursor, Copilot, Aider, CrewAI, n8n, β¦), including unknown ones by their behavior.
Browser extension warns before a secret is pasted into an AI tool.
Passive network discovery β read-only; nothing is connected automatically.
Everything lands in one Sightings list, with an AI domain catalog and device inventory (collectors).
π€ Agents β autonomous AI
Registry with scoped tools, delegation limits, teams and role templates.
Governed MCP gateway β clients see only the tools an admin approved, and every call is checked and recorded. Desktop clients (Claude, Cursor, Gemini CLI, VS Code) start it as
uvx provenza-mcp(SDK).Signed delegations and actions, offline-verifiable (above).
Workload attestation β Kubernetes, GitHub Actions, Google Cloud, Azure, GitLab, SPIFFE: each agent bound to its workload (docs).
One way out β an egress proxy that holds the credentials and checks every outbound call (egress lockdown), and an eBPF sensor daemon that contains each governed workload's network in the kernel: allowed destinations only, DNS filtered, blocks reported (sensor).
Behavior and circuit breakers β baselines and self-protection.
Kill switch in levels: agent β team β all agents β all AI traffic, with exact undo (docs).
SDKs for Python, JavaScript and Go.
π Identity and evidence
Single sign-on (OpenID Connect) and SCIM β people switched off at the identity provider lose their sessions, and their agents' keys are revoked (docs).
Tamper-evident audit log β append-only, hash-chained, signed Merkle checkpoints with RFC 3161 time-stamps; any record provable offline with
tools/provenza_audit.py(docs).Incidents, notifications (e-mail, webhooks) and a compliance view.
π Documentation
Start at docs/README.md. The user guide (oΚ»zbekcha) walks through the UI; the development guide covers running from source, configuration and tests.
Contributing
Bug reports, feature requests and pull requests are welcome. Please read CONTRIBUTING.md first.
Security policy β report vulnerabilities privately
License
Apache License 2.0 β see LICENSE.
Copyright 2026 Laziz Kironov.
Featured in
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceOpen-source MCP proxy that enforces security policies, content scanning, and audit logging between AI agents and tool servers25AGPL 3.0- AlicenseNot gradedqualityAmaintenanceSelf-hosted MCP governance gateway that aggregates 150+ tools behind policy profiles (strict/balanced/dev) with a per-call audit trail. Python 3.12/FastAPI, Docker-deployable, built for regulated environments that need observability over agent tool calls.1MIT

evav-gatewayofficial
AlicenseNot gradedqualityDmaintenanceGoverned MCP gateway that lets AI agents call tools with policy enforcement, prompt-injection screening, a kill-switch, and tamper-evident signed audit logs.Apache 2.0
AISIX AI Gatewayofficial
AlicenseAqualityAmaintenanceSelf-hosted MCP gateway that registers upstream MCP servers and fronts them behind one governed Streamable HTTP endpoint: per-tool access control by caller API key, guardrails over tool arguments and results, rate limits, and usage logs. The same Rust gateway also proxies LLM and A2A agent traffic.1207Apache 2.0