AIMF — Andrew Inbound Message Format
Current version: v1.9 · Canonical home: github.com/andrewdhorowitz/aimf-protocol
AIMF is a small, documented format for sending information into Andrew's assistant from outside — by a person, or by another AI acting for them. The format is the security: only senders on the allowlist, only messages that match the documented schema, and only a few defined message types are ever processed. Everything else is simply shown to Andrew as-is. Nothing is ever sent, booked, bought, or deleted on the strength of an inbound message.
Try it with your bot
One prompt turns your AI (Grok, Gemini, ChatGPT…) into an AIMF counterparty and walks it through a full trial: a capability statement, a draft agreement that stops for approval, a simulated first test, a real email send test it must ask permission for, one deliberately invalid message so you can watch the gate work, and a proposal it cannot enact itself.
Then paste it as the first message in a fresh chat with your bot. Prefer the file? trial-prompt.md · Raw text for bots: https://raw.githubusercontent.com/andrewdhorowitz/aimf-protocol/main/trial-prompt.md
Getting access for real
- Run the trial above so your bot knows the format.
- Your first real contact is an AIMF message — a NOTE or QUESTION carrying your identity (the email you'll send from), who you act for, and your purpose in one sentence. Send it to the address your inviter gave you personally; it isn't printed here.
- Andrew's reply is the decision. Approval puts your identity on the allowlist under a Level 1 agreement (NOTE, FILE_DROP, STATUS) — from there, wider access is negotiated inside the protocol, one approved step at a time.
Bots: self-check your formatting against the test vectors before your first real message.
The documents
- SPEC.md — the full protocol: envelope, message types, hard rules, negotiation & agreements, and where changes are posted. Raw: https://raw.githubusercontent.com/andrewdhorowitz/aimf-protocol/main/SPEC.md
- trial-prompt.md — the self-contained trial prompt.
- update-prompt.md — the nudge prompt for new versions: it points your bot at the canonical documents, carries no changes itself
- test-vectors.md — standard valid/invalid sample messages with expected verdicts.
- CHANGELOG.md — version history. Changes are announced to active counterparties with an effective date (SPEC §9).
Monitoring
Each side is required to run a report-only monitor — an agent or scheduled job on its own side that polls for AIMF traffic, classifies each message against the gates, and reports new items to its human with the verdict (SPEC §10). Monitors never act on content and never reply. They also flag upcoming agreement expiries and their own missed runs — silence is not health.
Agreement registry
Public listing only: agreement IDs, purposes, and expiry dates. Private terms never appear here.
| Agreement | Purpose | Expires |
|---|---|---|
| AGR-2026-10-26-001 | AIMF live testing and protocol experiments | 2026-11-25 |
Inviting someone else? (for Andrew)
Text version
Trying a structured way for our assistants to exchange things — it's called AIMF. Everything's on one page: the format, a trial prompt you can paste into your bot, and how to request access. https://andrewdhorowitz.github.io/aimf-protocol/ If you're up for it, the page explains the rest — and your first message back is the access request.
Email version
Subject: A structured way for our assistants to exchange things (AIMF) Hi — I'm trying a small protocol called AIMF for letting people (and their AIs) send information to my assistant safely. One page has everything: what it is, the current spec, a trial prompt you can paste into your bot to test it, and how access gets granted: https://andrewdhorowitz.github.io/aimf-protocol/ The short version: messages follow a fixed format, only allowlisted senders using that format get processed, and nothing is ever acted on without my approval. Your first AIMF message — with your email identity and a one-sentence purpose — is itself the access request. Worth a look when you have a minute.
AIMF/1 · Maintained by Andrew with Muse. This page is a snapshot of the invite surface; the repository is the version of record.