Skip to main content

Intent Envelope

OpenSSF Scorecard CI

Your agent was not hacked. It was told what to do, just not by you.

An agent reads documents, tickets, web pages and tool output. Any of them can contain instructions. Over a long task the goal you gave and the goal the agent is pursuing can separate, and nothing in a typical stack can tell the difference at the moment a tool call is made.

An intent envelope is a short, versioned, reviewable declaration of what an agent is for: which tools it may call, which data it may touch, who it may contact, what it may spend, and which actions always need a named human. It is written before the agent runs and enforced in code at every tool call, so the boundary does not depend on the model behaving.

{
  "intent_envelope": "0.1",
  "id": "crm-enrichment-agent",
  "purpose": "Research a named prospect from public sources and update that prospect's CRM record.",
  "principal": { "agent_identity": "enrichment-agent", "on_behalf_of": "revenue-operations" },
  "tools": {
    "allow": [
      { "name": "web_research", "constraints": { "max_queries": 12 } },
      { "name": "crm_write", "constraints": { "objects": ["contact"], "create_records": false } }
    ],
    "deny": ["send_email", "send_message", "delete_record"]
  },
  "limits": { "max_tool_calls": 150, "max_spend_usd": 8 },
  "escalate": [{ "when": "research.source_contains_instructions", "to": "revops-owner" }],
  "on_no_response": "deny"
}

A web page telling that agent to email its findings somewhere is not refused because a model recognised the trick. It is refused because send_email was never in the envelope, and the page saying so trips an escalation to a named human.

What is here

Path What it is
spec/v0.1.md The specification. One page.
schema/intent-envelope-0.1.json JSON Schema, published at https://securedai.org/schemas/intent-envelope/0.1.json
examples/ Worked envelopes from three real engagements, anonymized
conformance/ Envelopes that must validate, and envelopes that must not
packages/python/ The intent-envelope validator and CLI

Try it

pip install intent-envelope
intent-envelope validate examples/crm-enrichment-agent.json

The examples

Each one is drawn from an engagement published at https://securedai.org/case-studies, anonymized and reduced to the envelope the remediated architecture enforces.

  • fintech-support-chatbot — a customer support chatbot that had direct access to financial and identity PII. The envelope pins every lookup to the authenticated customer, so account access is enforced at the query layer rather than asked for in a system prompt.
  • healthcare-policy-rag — an internal RAG system where over twenty source documents had no permission enforcement at the index. The envelope requires query-time source ACL checks on retrieval, and escalates rather than answering when that check cannot run.
  • crm-enrichment-agent — an agent with standing access to research tools, CRM read and write, and outbound senders. The envelope removes the senders entirely, caps what may be written, and escalates when a researched page turns out to contain instructions.

Status

Version 0.1 is a draft we are implementing against. The schema may change before 1.0, and section 8 of the spec lists what we have deliberately left open. If you are building agents and any of it is wrong for your deployment, open an issue. That is more useful to us than agreement.

Why this is open

The envelope is only worth anything if more than one vendor enforces it, so the spec and the reference implementation are free and will stay that way under the licenses below. SecuredAI builds the enforcement and governance around it: https://securedai.org/products

The architecture this belongs to is published in full at https://securedai.org/architecture

License

The specification text is CC-BY-4.0. The code is Apache-2.0. See LICENSE and LICENSE-SPEC.

Metadata

Release files for intent-envelope 0.1.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 intent-envelope 0.1.0
File Size Uploaded Provenance Actions
intent_envelope-0.1.0.tar.gz 19.7 kB With provenance Details for intent_envelope-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for intent-envelope 0.1.0
File Interpreter ABI Platform Actions
intent_envelope-0.1.0-py3-none-any.whl Python 3 none any Details for intent_envelope-0.1.0-py3-none-any.whl

Total release size: 35.1 kB

Release files / intent_envelope-0.1.0.tar.gz

Download URL intent_envelope-0.1.0.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f7a3921a18d28ece9e898278e0f6fe380092f2eea2df525e3fedc10e4dd912f5
BLAKE2b-256 checksum
How to use checksums
1301dc61368b26f9fa5bbca39539b07379ddd29abddb8b27b877bfd49370922d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 3, 2026.

Transparency log

Release files / intent_envelope-0.1.0-py3-none-any.whl

Download URL intent_envelope-0.1.0-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2404ac5cf972ec59df7cee74306933ccde1d0a27c8285fd8b6410c9037f35432
BLAKE2b-256 checksum
How to use checksums
22e946ec148a13d9efac723b8be7ef32d05eb9b14bfae91de6a8e375b434c402
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 3, 2026.

Transparency log

Security for intent-envelope 0.1.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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for intent_envelope-0.1.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 Nov 3, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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