[media-types] Re: [IANA #1452522] New Media Type Regis tration Request: application/vnd.fafa+yaml
"Murray S. Kucherawy" <[email protected]> Wed, 24 Jun 2026 17:14:57 -0700
| Newsgroups | gmane.ietf.types |
|---|---|
| Message-ID | <CAL0qLwaHqKsbie6XOT7DwDfgqRKyKGbey3MfSv=k+Z2AgOjXGA@mail.gmail.com> |
Approved with that change. -MSK On Thu, Jun 18, 2026 at 12:03 PM Amanda Baber via RT < [email protected]> wrote: > Hi Murray, > > Sending a reminder for this June 3rd update. > > thanks, > Amanda > > On Wed Jun 03 18:58:37 2026, amanda.baber wrote: > > Hi Murray, > > > > We've received a reply to your question about "version" (with no > > additional text) in the optional parameter field: > > > > === > > > > The expert is right. The "version" that follows semantic-versioning > > syntax is an in-band field in the document payload - it declares which > > version of the .fafa specification the document conforms to, the same > > way the format itself is self-describing about everything else. It is > > not a parameter of the media type, so there is no Content-Type > > parameter to negotiate. > > > > Please set: > > > > Optional parameters: N/A > > > > No required or optional parameters are defined for > > application/vnd.fafa+yaml; versioning is handled in-band via the top- > > level "version" field of the document. > > > > Happy to clarify anything further. > > > > === > > > > Does that work? > > > > thanks, > > Amanda > > > > On Tue Jun 02 14:55:28 2026, [email protected] wrote: > > > One minor thing here. > > > > > > -MSK > > > > > > On Wed, May 27, 2026 at 10:37 AM Amanda Baber via RT < > > > [email protected]> wrote: > > > > > > > > Type name: application > > > > > > > > > > Subtype name: vnd.fafa+yaml > > > > > > > > > > Required parameters: N/A > > > > > > > > > > Optional parameters: version > > > > > > > > > > What does this value look like? An integer, a string containing a > > > semantic > > > version, something else? > > > > > > The published specification contains a "version" that follows the > > > semantic > > > versioning syntax, but that refers to the payload, not the media type > > > itself. > > > > > > > > > > > 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]