[media-types] [IANA #1434755] application/vnd.faf+yaml registration request

Amanda Baber via RT <iana-mime-comment@iana.org> Mon, 27 October 2025 23:19 UTC

Return-Path: <iana-shared@iana.org>
X-Original-To: media-types@mail2.ietf.org
Delivered-To: media-types@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id C86B87D208C2 for <media-types@mail2.ietf.org>; Mon, 27 Oct 2025 16:19:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.079
X-Spam-Level:
X-Spam-Status: No, score=-1.079 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=iana.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Aou0CQw_XRLn for <media-types@mail2.ietf.org>; Mon, 27 Oct 2025 16:19:48 -0700 (PDT)
Received: from smtp.lax.icann.org (smtp.lax.icann.org [IPv6:2620:0:2d0:201::1:81]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0DD7A7D208A5 for <media-types@ietf.org>; Mon, 27 Oct 2025 16:19:48 -0700 (PDT)
Received: from request7.lax.icann.org (request1.lax.icann.org [10.32.11.221]) by smtp.lax.icann.org (Postfix) with ESMTP id 73BE6E6363; Mon, 27 Oct 2025 23:19:47 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.lax.icann.org 73BE6E6363
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iana.org; s=202509s; t=1761607187; bh=AHIqNwSx3bMmbfuLYrJj5tqVX+eZvw7HtICtPvbYy3Y=; h=Subject:From:Reply-To:In-Reply-To:References:CC:Date:From; b=LbExUwh9h+CkaiFZ52GBmYjsaqB+OauBY+Q/Ii8eEwhzu0qIHQZXqNcVttkuHFFlN txgiDYV1ZSQw0cXwpefX2SWCqOd1AIHkige8gOEXm8+wPLGo9hj6pq8Sl4+r0f75JC hWkXMr1KxMgs+ve4A+wRf+jQ+PNxAKlqhrqg5CqE=
Received: by request7.lax.icann.org (Postfix, from userid 48) id 54281C11D6BB; Mon, 27 Oct 2025 23:19:47 +0000 (UTC)
RT-Owner: amanda.baber
From: Amanda Baber via RT <iana-mime-comment@iana.org>
In-Reply-To: <49v1u78mtm-1@ppa5.dc.icann.org>
References: <RT-Ticket-1434755@icann.org> <49v1u78mtm-1@ppa5.dc.icann.org>
Message-ID: <rt-5.0.3-469830-1761607187-715.1434755-9-0@icann.org>
X-RT-Loop-Prevention: IANA
X-RT-Ticket: IANA #1434755
X-Managed-BY: RT 5.0.3 (http://www.bestpractical.com/rt/)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-RT-Original-Encoding: utf-8
Precedence: bulk
Date: Mon, 27 Oct 2025 23:19:47 +0000
MIME-Version: 1.0
Message-ID-Hash: UNELR3CEWACXEOT6TN75A2A4FJOJVHKM
X-Message-ID-Hash: UNELR3CEWACXEOT6TN75A2A4FJOJVHKM
X-MailFrom: iana-shared@iana.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-media-types.ietf.org-0; header-match-media-types.ietf.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: alexey.melnikov@isode.com, media-types@ietf.org
X-Mailman-Version: 3.3.9rc6
Reply-To: iana-mime-comment@iana.org
Subject: [media-types] [IANA #1434755] application/vnd.faf+yaml registration request
List-Id: "IANA mailing list for reviewing Media Type (MIME Type, Content Type) registration requests." <media-types.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/4m9epGYthb2NukVyWCFEYLEiLD0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/media-types>
List-Help: <mailto:media-types-request@ietf.org?subject=help>
List-Owner: <mailto:media-types-owner@ietf.org>
List-Post: <mailto:media-types@ietf.org>
List-Subscribe: <mailto:media-types-join@ietf.org>
List-Unsubscribe: <mailto:media-types-leave@ietf.org>

Hi Alexey,

Would you be able to review this one by November 10th?

thanks,
Amanda

=====

Name: James Wolfe

Email: James@WolfeJames.com

Media type name: application

Media subtype name: vnd.faf+yaml

Required parameters: N/A

Optional parameters: Format version (e.g., version=1.0)

Encoding considerations: 8bit

UTF-8 encoding required. Binary content may be base64-encoded within YAML structure.

Security considerations: Security considerations:
.faf files contain project metadata and configuration information. Implementations should:
- Validate YAML structure before parsing
- Sanitize file paths to prevent directory traversal
- Verify score and confidence values are within valid ranges (0-100, 0-1.0)
- Not execute code contained in .faf files
- Treat content as untrusted user input

Privacy: .faf files may contain project-specific information including dependencies,
architecture details, and development workflows. Sensitive information should not be
included in publicly shared .faf files.

Interoperability considerations: Interoperability considerations:
.faf extends YAML with specific structure for AI context representation. All .faf files
are valid YAML documents. Standard YAML parsers can read .faf files, though specialized
parsers are recommended for validation and scoring features.

Cross-platform compatibility achieved through:
- Platform-agnostic YAML format
- UTF-8 encoding
- No platform-specific path conventions in core specification

Published specification: https://github.com/Wolfe-Jam/faf (primary specification)
https://faf.one (documentation and reference implementation)

Applications which use this media: - faf-cli: Command-line tool for .faf generation and validation
- claude-faf-mcp: Anthropic Model Context Protocol server (official MCP registry)
- AI development environments: Claude Code, OpenAI Codex, Google Gemini
- IDE integrations: VS Code, Cursor
- Chrome Extension for GitHub integration

Fragment identifier considerations: N/A

Restrictions on usage: None (MIT License, open source)

Provisional registration? (standards tree only): No

Additional information:

1. Deprecated alias names for this type: N/A
2. Magic number(s): Files typically begin with YAML structure starting with "version:" key or YAML document marker "---"
3. File extension(s): .faf
4. Macintosh file type code: N/A
5. Object Identifiers: N/A

General Comments: .faf is designed as a universal format for AI project context representation across all development environments and AI platforms. Current adoption includes official integration with Anthropic's Model Context Protocol ecosystem, 9,900+ npm package downloads, and validation across major AI platforms (Claude, OpenAI Codex, Google Gemini). The format addresses fundamental AI context incompleteness in software development workflows.

Person to contact for further information:

1. Name: Wolfe James
2. Email: James@wolfejames.com

Intended usage: COMMON

Author/Change controller: Wolfe James
Creator and Maintainer, .faf Format Specification
Email: james@wolfejames.com
ORCID: 0009-0007-0801-3841
GitHub: https://github.com/Wolfe-Jam/faf