[media-types] [IANA #1452522] New Media Type Registratio n Request: application/vnd.fafa+yaml
"Amanda Baber via RT" <[email protected]> Wed, 20 May 2026 00:53:43 +0000
| Newsgroups | gmane.ietf.types |
|---|---|
| Message-ID | <[email protected]> |
Hi Murray,
Would you be able to review this new request from FAF by June 2nd?
thanks,
Amanda
=====
Type name: application
Subtype name: vnd.fafa+yaml
Required parameters: N/A
Optional parameters: version
Encoding considerations: 8bit (UTF-8). Binary content, when
present, is base64-encoded inside YAML.
Security considerations:
The following addresses the questions outlined in the IANA
media-type security considerations checklist at https://www.iana.org/form/media-types:
1. Active or executable content. No. The .fafa format is a YAML
data document. It contains no scripts, code, executable
directives, or active markup. Implementations MUST treat
.fafa content as data, never as instructions, commands, or
code. Declaration is not authorization: an implementation
MUST NOT auto-execute a capability purely because it is
declared.
2. Privacy and integrity needs. .fafa carries agent identity
claims and capability declarations. It is not intended to
carry personal data. Integrity of the endpoints and
signature fields is required where present; confidentiality
of the declaration itself is generally not required, but
transport SHOULD be authenticated and encrypted.
3. Privacy and integrity services. The .fafa format itself does
not provide cryptographic confidentiality, integrity
protection, or signing. These services MUST be provided
externally:
- Confidentiality: TLS for all transport; encryption at rest
in any backend that stores .fafa documents.
- Integrity: where present, the signature field carries
provenance/integrity material, verified by the consumer;
transport-layer integrity (TLS); application-level write
authorization.
- Consumers MUST treat the endpoints field as untrusted
until verified against signature if present, and MUST
apply least privilege when consuming declared
capabilities.
4. YAML format considerations. .fafa is built on YAML 1.2. All
YAML 1.2 security considerations apply, including those
described in RFC 9512 ("YAML Media Type") section 6. Specific
to .fafa:
- Parsers MUST disable custom type construction (no
!!python/object, !ruby/object, or equivalent
language-specific constructors).
- Parsers MUST enforce alias-expansion limits to mitigate
entity-expansion / "billion-laughs"-style attacks.
- Parsers MUST enforce nesting-depth limits to prevent stack
overflow.
5. Compression. Not applicable. .fafa does not use or require
compression at the format layer. If transport-level
compression is applied to .fafa content alongside other
secret data, standard compression-with-secret considerations
(e.g., CRIME/BREACH class attacks) apply at the transport
layer.
6. Container format. Not applicable. .fafa is a single YAML
document, not a container or archive format. No
packaging-level security considerations apply.
7. Link references. .fafa documents MAY contain endpoint
locators (the endpoints field) and provenance references
(the provenance field). These are declarative pointers; a
.fafa document does not require resolving them to be
correctly interpreted. Consumers MUST treat endpoint
locators as untrusted until verified (see item 3) and MUST
NOT auto-resolve or auto-invoke them by virtue of their
presence in the document.
Additional security considerations:
- Untrusted input / context poisoning / prompt injection. .fafa
documents originate from agents and third parties and MUST be
treated as untrusted input by consumers. Implementations MUST
NOT elevate .fafa content to "system instructions" or
"developer directives" within prompt hierarchies. Capability
declarations are a documented vector for over-trust and
prompt injection.
- Cross-context isolation. Implementations SHOULD scope
capability consumption to the declaring agent's verified
identity to prevent unintended cross-agent or cross-domain
influence.
- No secrets or credentials. .fafa documents MUST NOT contain
secrets, API keys, or credentials; MUST NOT contain
user-personal data (use .fafm for memory of that kind); and
MUST NOT contain executable code. The format is declarative,
not executable.
Interoperability considerations:
.fafa is the Agent Card format of the FAF family, sibling to
the IANA-registered .faf format (application/vnd.faf+yaml) and
.fafm format (application/vnd.fafm+yaml). It is designed to
interoperate while serving a distinct purpose:
.faf - Foundational Context Layer (project IS - static, read once)
.fafm - Voice Memory Layer (VML) (agent REMEMBERS - mutating, persisted)
.fafa - Agent Card (agent IS - declarative identity + capability)
Three formats. Three roles. One ecosystem.
.fafa is format-level, not protocol-level. It composes with -
does not replace - agent-interaction protocols: a protocol
carries, references, or resolves a .fafa document; the document
declares the agent the protocol acts upon.
The .fafa schema extends application/vnd.faf+yaml - a .fafa
document remains a valid YAML file. Consumers that only
understand .faf will safely ignore the agent-specific blocks
and still extract identity from top-level fields. Consumers
that understand .fafa gain the full agent declaration.
.fafa is YAML 1.2 / RFC 9512 compliant. Consumers MUST use
YAML safe-load, MUST treat unknown top-level fields and unknown
subfields within agent, capabilities, and endpoints as
forward-compatible extensions, and SHOULD use UTF-8 encoding.
All three formats share the same family branding, YAML
philosophy (YAML 1.2 / RFC 9512 baseline), and MIT license.
Multiple .fafa documents per scope are permitted, distinguished
by agent.id.
Published specification: https://github.com/Wolfe-Jam/faf/blob/main/AGENT-FORMAT.md
Applications that use this media type: faf-agent-mcp (reference
implementation), xAI/Grok, claude-faf-mcp, gemini-faf-mcp and
future FAF MCP-family integrations.
Fragment identifier considerations: None
Additional information - File extension: .fafa
Person & email address for further information: James Wolfe,
[email protected]
Intended usage: COMMON
Restrictions on usage: None
Author: James Wolfe
Change controller: FAF Foundation
_______________________________________________
media-types mailing list -- [email protected]
To unsubscribe send an email to [email protected]