[media-types] Re: [IANA #1459410] application/vnd.dai registration request

"Murray S. Kucherawy" <superuser@gmail.com> Sun, 04 October 2026 03:39 UTC

Received: from mail-lf2-x10.google.com (mail-lf2-x10.google.com [IPv6:2a00:1450:4864:36::10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id E7B8D4B for <media-types@ietf.org>; Sun, 04 Oct 2026 03:39:41 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=B0568DFV; spf=pass (mx.ietf.org: domain of superuser@gmail.com designates 2a00:1450:4864:36::10 as permitted sender) smtp.mailfrom=superuser@gmail.com; dmarc=pass (policy=none) header.from=gmail.com; arc=pass ("google.com:s=arc-20260327:i=1")
Received: by mail-lf2-x10.google.com with SMTP id 2adb3069b0e04-5ba3d17a999so201552e87.0 for <media-types@ietf.org>; Sat, 03 Oct 2026 20:39:41 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1791085180; cv=none; d=google.com; s=arc-20260327; b=d/jY1fxm/M5nl4mpPwYT/Fzq4B1ZKGGCju0yGixLz3xM611024XvSPoyqzhWvL5guy 9Lfmk2av398ey1/ImearmVzgDHbxzs3HJWOqd/YSSBdFqv4ZjnDHSIhPolXxOCOvbMsy WOXAHx0mUBIf3bt1zgEE4m3Cl8WndXlvVUobynlYjv8t1fcgYelwBpBW4sDktBMBXKtu HnnrKCvwm3SlcvEcpGIX+o91qKDt+fKK3ANQ9Nc/PNe15zl4ym9PzGH9O9Vzq9fjbuKB hywHMK3nWqp7iynC2KS+shDFxs3oPB23q7OLXi/gEOAGQyc+a/w7sOrOo8w3pOGHbUDk Blgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=51VOcAUDkWrNo+tq9DNIyJf0gHbQLR5L3HuvThrPwjQ=; fh=NWqEJrgFZ6FI3TeFArDaznRl7sKNEr5tjSue77fqdrQ=; b=Sd06YkBsVb4cD7wuMMKfmQYWced8Aij3SHC3NYr+RrnwLPRackfuTYOAKexAUAnsTx HWSikkydRk+OpaKtuu78A1SbZKiO+W1EXltrs9q7A/HVztReriydrEE0o1K02a0KTckO gXo+yQEMFmJj4nc/dxxebMH2K58nUmiyUIJ1xYVNBN3CyN9jbZplp8yqghhnAad8U/75 FubAqHfOf8jFUVHkZpfTqZivkY5jWE6v+AaA4Sn6lqFjN0Oa1/FbTLm6jCjWnN+boq5k MWRZKWNzTSVt59bBUmkF7sUoyxwkI47Y5x9ZbzokfY1mLkQsst2nYR6RvIDEoII32x/Q 02YA==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1791085180; x=1791689980; darn=ietf.org; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:in-reply-to:references:mime-version:from:to:cc:subject :date:message-id:reply-to:content-type; bh=51VOcAUDkWrNo+tq9DNIyJf0gHbQLR5L3HuvThrPwjQ=; b=B0568DFVgEWH6pMMELOgQhdfrkU4coIO16miC/lOlP5a10vy/HFJXTu9YCSjQYFZeh daPwJQT9pw+X3C3SkezX7JDp2YcO5kyatf26U8fMTQ6wgk/97UZA2myjiPOU1/ZHl/+t wIN/Pf1vsSZ1/8PCUWjkrPcjaSlsc/FO1nediEK8jB74f6Fm2kw1GD87cMfWtxwwmB9Y MMXRHdfAuIzAnJ+XhXi1uwA6bqqE6hVOF1JjeAxghPUEAiNAy0Mek/XtvL3rq8pRCpgx B0RnBzlU33VihzCdBIy7c6ou5dxomesjXoYUudb7KXsnBIkNn9ESDzIYkiRkcj4gMt1Q B8HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791085180; x=1791689980; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:in-reply-to:references:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=51VOcAUDkWrNo+tq9DNIyJf0gHbQLR5L3HuvThrPwjQ=; b=TCwAoyEyWgKEmjinGbJ2C9ss35A6/4bHu0q1u9X1NI8wW1Ab4fy57Luezldj9VOQzW nqW7EHz44QmBPJho2E5bph8rOs17BGWkcCoD3StFXAvOr2OxQc/sDdVkXD9siGKk6Crk Q+fjBJ+f1ikRha4xP8omFNhpa9bdJOnuZI3c6MgWv4BngO1whtnGosCbeVvFpFi/YPxZ GQmhHp2/QBRxxBAkqgQk3pcV6aXiQjGzdtnPiFJXc5lmurr0CfZJ3ramEMOa7YLENnVl Oc410w9Xn5+SBGMdDHJabH43uACyRtQJjuUPnpqF4u843okqZj562nxbsnOzArTJKkG6 eOvQ==
X-Gm-Message-State: AFq9FYIlUOiAYugvNfttEhynUabJMykAHvpSJg/hRJE1wNSjfEwC7IhK bMFLjpXhPrcITw+DazGlvE0KWdx4cU3xCyplGBoZ5IR37pDTV15rUeGvv6uzzsD1m+gO0tMdfAJ 6WVDIn3QAdsJmucAqQGTmQU6CllgbH+1G1w==
X-Gm-Gg: AYBFou1nG+9LKAN7EOKTG7sIWU+klzZrOKLJOEeDM4+VW4xadRO7Cq2mHFiJ9HuGBOu 8mhzEGI5YirIjNRJEgJhgJrXLye8P2kp5wgMpk7jBWKjiw8WstTpPfAejIMwqUu1UpkeRwgx1vk fSZ1m6FdGUDxiia1Wl3oKX30s+xvvI+wByW1S96VNbqVWZJhqd1EoHE4GMZIIKUnFcwQKvl9Bha 2ILL6b1pifFohURFhiOO6vTRQd12LVBAWdXVJ5s50alY0aJl4yMcW//apXVbqR/Q6BEwVstZuUv 3lLEbk5BRuX8LN2BZmZWWJZ/cWUPor1kyCkQkYG9hZxWQfeM8XslsAsGZfD+AOYghTdQ8yndoop if6WhKGqOj+g=
X-Received: by 2002:a05:6512:a93:b0:5ba:4252:d364 with SMTP id 2adb3069b0e04-5bb9bc26702mr1924469e87.13.1791085180198; Sat, 03 Oct 2026 20:39:40 -0700 (PDT)
MIME-Version: 1.0
References: <RT-Ticket-1459410@icann.org> <4ggy0cr6va-1@ppa4.dc.icann.org> <rt-5.0.3-560495-1788917114-1801.1459410-9-0@icann.org> <CAL0qLwYuxW2T_RFc1hiOvjmGRuM=Q5r+aL653Xry4-g0fJTN2A@mail.gmail.com> <rt-5.0.3-663177-1788983653-1928.1459410-9-0@icann.org> <rt-5.0.3-135028-1789259111-959.1459410-9-0@icann.org>
In-Reply-To: <rt-5.0.3-135028-1789259111-959.1459410-9-0@icann.org>
From: "Murray S. Kucherawy" <superuser@gmail.com>
Date: Sat, 03 Oct 2026 20:39:28 -0700
X-Gm-Features: AclHuK9-IRCuQ6Mr_y5ePUAI-2jTvlqpLtdATHnrOw15KyoTwwa-fqkdAM4kqm8
Message-ID: <CAL0qLwZS+KZTXCCKHWUH1AzwQn1_UOE654qDjVusGy1xfN0hUQ@mail.gmail.com>
To: iana-mime-comment@iana.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spamd-Bar: -----
Message-ID-Hash: AGDD4HBWE2PAZWMHWP4SIIXETQNXY5DT
X-Message-ID-Hash: AGDD4HBWE2PAZWMHWP4SIIXETQNXY5DT
X-MailFrom: superuser@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-media-types.ietf.org-0; header-match-media-types.ietf.org-1; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: media-types@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [media-types] Re: [IANA #1459410] application/vnd.dai 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/aYiQ2GO_iMbpyTUwRgMCrgDZ2Tw>
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>

Approved subject to a couple of tweaks suggested below.

-MSK

On Sat, Sep 12, 2026 at 5:25 PM David Dong via RT
<iana-mime-comment@iana.org> wrote:
> Name: Christopher Whitlow
> Email: info@dynamicapplicationinterface.io
>
> Media type name: application
> Media subtype name: vnd.dai
>
> Required parameters: N/A
> Optional parameters: N/A
>
> Encoding considerations: binary
>
> The file is a sectioned container: a header, a section table, page-aligned sections holding a JSON manifest, a zip archive of the application, and a SQLite database, and a 64-byte footer. The footer carries a generation counter and the SHA-256 of the database section.
>
> Security considerations:
>
> A DAI container carries executable content: an HTML application intended to run only inside a host that applies the isolation defined in §4 of the specification (an opaque-origin sandboxed frame under a Content Security Policy permitting no network connection). The specification requires that a host not applying that isolation does not execute the content.
>
> The container is a sectioned binary file holding a JSON manifest, a zip archive of the application, and a SQLite database. The manifest carries SHA-256 digests of every archive entry and may carry an ECDSA P-256 signature over them in a COSE_Sign1 envelope. The specification requires a host to verify every digest before running anything and to verify the signature when a key is present (§7). The signature covers the manifest and the application, not the database; the database section is verified separately against a SHA-256 digest held in the file's footer (§2). Verification establishes that the file is unchanged since it was signed, not the identity of the signer; §8 and §9.6 describe what a host may claim about a publisher.
>
> Because the archive is inflated before its manifest can be checked, the specification requires a reader to bound decompression in advance — a limit on the bytes produced for any one entry, on the total across entries, and on the number of entries — refusing rather than allocating when a declared size, the declared total, or the entry count exceeds that limit, and stopping if an entry inflates past the size it declares (§7). The manifest contains no active content.
>
> The application may read and write the SQLite database. The format grants it no capability to reach the network, the filesystem beyond the file itself, or other origins.
>
> Privacy: the file may contain personal data the application stored. It contains no tracking, and the specification requires that a host send nothing when opening a file.
>
> Interoperability considerations:
>
> The format is versioned by the manifestVersion field in the manifest. A reader accepts the versions it implements and refuses others, reporting a refusal that tells the person to update the host (§9.1). The specification defines versions 2 and 3. A conformance suite and an independent reference reader in Python are published with the specification.
>
> Published specification: DAI Container Format v0.2, §2 (the sectioned form), §7 (verification), and §9 (manifestVersion 3): https://github.com/dynamicapplicationinterface/dai-core/blob/main/docs/spec-v0.2.md
>
> Applications which use this media: The DAI opener (https://opendai.app) the DAI desktop application, and the dai command line tool; any host implementing the specification.
>
> Fragment identifier considerations: N/A
> Restrictions on usage: N/A
> Provisional registration? (standards tree only): No
>
> Additional information:
>
> Deprecated alias names for this type: N/A
> Magic number(s): the first four bytes are DAI (0x44 0x41 0x49 0x00)

This should be tightened up; I suggest:

Magic number(s): the first four bytes are "DAI" followed by a NULL
byte (0x44 0x41 0x49 0x00)

> File extension(s): '.dai'

I think the single quotes should be removed.

> Macintosh file type code: N/A
> Object Identifiers: N/A
>
> Other Information & Comments: N/A
>
> Person to contact for further information:
>
> Name: Christopher Whitlow
> Email: info@dynamicapplicationinterface.io
>
> Intended usage: COMMON
>
> Author/Change controller: Christopher Whitlow / Dynamic Application Interface Opensource Project