<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-vu-aimem-bundle-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="AIMEM Bundle">Memory Interchange Bundle Format for AI Agents</title>

    <author fullname="Vu Duc Minh">
      <organization>MemoryAI</organization>
      <address>
        <postal>
          <country>Vietnam</country>
        </postal>
        <email>founder@memoryai.vn</email>
      </address>
    </author>

    <date year="2026" month="June" day="14"/>

    <area>Applications</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>ai</keyword> <keyword>memory</keyword> <keyword>interchange</keyword> <keyword>portability</keyword> <keyword>agents</keyword>

    <abstract>


<?line 62?>

<t>This document specifies a vendor-neutral interchange format for the
persistent memory of AI agents — preferences, decisions, identity claims,
pitfalls, and procedures that an agent accumulates across sessions.</t>

<t>The format is a self-contained JSON Bundle with explicit conformance
levels (Producer, Consumer, Bidirectional). Implementations <bcp14>MAY</bcp14> accompany
the Bundle with an HTTP Profile that exposes export and import endpoints.</t>

<t>The goal is to allow a user's "agent brain" to move between cloud
services, on-premise installations, and third-party implementations
without lock-in, in a manner that interoperates with existing
right-to-erasure obligations such as <xref target="GDPR-A17"/>.</t>

<t>This document is self-contained: all schema fields normatively required
by Producers and Consumers are defined inline. An informative reference
implementation is cited in <xref target="AIMEM-REF"/>.</t>



    </abstract>



  </front>

  <middle>


<?line 81?>

<section anchor="introduction"><name>Introduction</name>

<t>In 2026, multiple commercial LLM platforms ship memory features that
persist user identity, preferences, and prior decisions across sessions.
Each platform serializes that memory in a vendor-specific schema,
producing lock-in for the user and friction for downstream tooling such
as audit, compliance, and migration.</t>

<t>This document defines the <strong>AIMEM Bundle Format</strong>, an interchange
container that decouples three concerns:</t>

<texttable>
      <ttcol align='left'>Layer</ttcol>
      <ttcol align='left'>Concern</ttcol>
      <c>Encoding</c>
      <c>What agent memory looks like on disk</c>
      <c>Transport</c>
      <c>How memory bundles move between systems</c>
      <c>Reasoning</c>
      <c>How an LLM uses recalled memory</c>
</texttable>

<t>This specification standardises only the encoding and transport layers.
The reasoning layer is left to each implementation, in keeping with the
HTTP precedent of standardising the wire while leaving rendering to
browsers.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="terminology"><name>Terminology</name>

<dl>
  <dt>Bundle:</dt>
  <dd>
    <t>A self-contained JSON document representing the complete or partial
agent memory of one Tenant.</t>
  </dd>
  <dt>Tenant:</dt>
  <dd>
    <t>The principal who owns a Bundle's contents, identified by an
implementation-defined identifier (URI, UUID, or DID per <xref target="W3C-DID"/>).</t>
  </dd>
  <dt>Producer:</dt>
  <dd>
    <t>An implementation that serialises agent memory into a Bundle.</t>
  </dd>
  <dt>Consumer:</dt>
  <dd>
    <t>An implementation that ingests a Bundle and reconstructs the agent
memory in its own storage.</t>
  </dd>
  <dt>Bidirectional:</dt>
  <dd>
    <t>An implementation that is both Producer and Consumer for the same
Bundle scope.</t>
  </dd>
  <dt>Chunk:</dt>
  <dd>
    <t>An atomic memory record. A Bundle contains zero or more Chunks.</t>
  </dd>
  <dt>DNA-class memory:</dt>
  <dd>
    <t>A Chunk whose <spanx style="verb">memory_type</spanx> is one of <spanx style="verb">preference</spanx>, <spanx style="verb">decision</spanx>,
<spanx style="verb">identity</spanx>, <spanx style="verb">pitfall</spanx>, or <spanx style="verb">procedure</spanx>. DNA-class memory <bcp14>MUST NOT</bcp14> be
silently decayed or deleted by any implementation; see <xref target="security"/>.</t>
  </dd>
  <dt>Producer Namespace:</dt>
  <dd>
    <t>An opaque, lower-case ASCII identifier (1-63 chars, <spanx style="verb">[a-z0-9-]</spanx>) that
uniquely identifies the originating Producer instance. See
<xref target="chunk-id"/>.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="bundle-format"><name>Bundle Format</name>

<t>A Bundle is a UTF-8 JSON document conforming to <xref target="RFC8259"/>.</t>

<section anchor="required-envelope"><name>Required Envelope</name>

<t>A Bundle <bcp14>MUST</bcp14> contain the following top-level fields:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "format": "aimem-bundle",
  "version": "1",
  "producer": "memoryai-prod",
  "tenant_id": "11111111-1111-1111-1111-111111111111",
  "exported_at": "2026-06-12T10:00:00Z",
  "scope": "FULL",
  "checksum": "sha256:...",
  "chunks": [],
  "edges": [],
  "entities": [],
  "chunk_entities": []
}
]]></sourcecode></figure>

<t>The <spanx style="verb">format</spanx> field <bcp14>MUST</bcp14> be the string <spanx style="verb">"aimem-bundle"</spanx>. The legacy value
<spanx style="verb">"memoryai-bundle"</spanx> <bcp14>MAY</bcp14> be accepted by Consumers for backwards
compatibility with implementations published before this revision.</t>

<t>The <spanx style="verb">version</spanx> field <bcp14>MUST</bcp14> be <spanx style="verb">"1"</spanx> for this specification.</t>

<t>The <spanx style="verb">producer</spanx> field <bcp14>MUST</bcp14> be a Producer Namespace (see <xref target="chunk-id"/>).
It identifies the implementation that emitted the Bundle and is the
namespace under which <spanx style="verb">chunk.id</spanx> values are interpreted.</t>

<t>The <spanx style="verb">tenant_id</spanx> field <bcp14>MUST</bcp14> be either a UUID per RFC 4122 or a URI
(including a DID per <xref target="W3C-DID"/>).</t>

<t>The <spanx style="verb">exported_at</spanx> field <bcp14>MUST</bcp14> be an ISO-8601 timestamp in UTC.</t>

<t>The <spanx style="verb">scope</spanx> field <bcp14>MUST</bcp14> be one of <spanx style="verb">"FULL"</spanx>, <spanx style="verb">"DNA_ONLY"</spanx>, or <spanx style="verb">"SINCE"</spanx>.
When the scope is <spanx style="verb">"SINCE"</spanx>, the envelope <bcp14>MUST</bcp14> include a <spanx style="verb">since</spanx> field
(ISO-8601) marking the lower bound of the time window.</t>

<t>The <spanx style="verb">checksum</spanx> field <bcp14>MUST</bcp14> be computed per <xref target="checksum"/>.</t>

<t>If any Chunk in the Bundle includes an embedding, the envelope <bcp14>MUST</bcp14>
include <spanx style="verb">embedding_dim</spanx> (integer) and <spanx style="verb">embedding_model</spanx> (string). See
<xref target="embedding"/>.</t>

</section>
<section anchor="chunk-record"><name>ChunkRecord</name>

<t>Each entry in <spanx style="verb">chunks</spanx> <bcp14>MUST</bcp14> be an object with the following normative
fields:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "id": "urn:aimem:memoryai-prod:chunk-1",
  "content": "User prefers PostgreSQL over MongoDB.",
  "content_hash": "sha256:abcdef...",
  "memory_type": "preference",
  "zone": "important",
  "is_pinned": false,
  "created_at": "2026-04-01T09:30:00Z",
  "tags": ["db", "stack-choice"],
  "embedding": null
}
]]></sourcecode></figure>

<t>The <spanx style="verb">id</spanx> field <bcp14>MUST</bcp14> conform to <xref target="chunk-id"/>.</t>

<t>The <spanx style="verb">content</spanx> field <bcp14>MUST</bcp14> be a non-empty UTF-8 string. Implementations
<bcp14>MAY</bcp14> enforce a maximum length but <bcp14>MUST</bcp14> accept strings up to 65,536
codepoints.</t>

<t>The <spanx style="verb">content_hash</spanx> field, if present, <bcp14>MUST</bcp14> be a lowercase
<spanx style="verb">sha256:&lt;hex&gt;</spanx> over the UTF-8 bytes of <spanx style="verb">content</spanx>. Consumers <bcp14>MUST</bcp14> verify
the hash on import and reject the Chunk on mismatch (HTTP 422 or
equivalent error).</t>

<t>The <spanx style="verb">memory_type</spanx> field <bcp14>MUST</bcp14> be one of: <spanx style="verb">fact</spanx>, <spanx style="verb">preference</spanx>,
<spanx style="verb">decision</spanx>, <spanx style="verb">identity</spanx>, <spanx style="verb">pitfall</spanx>, <spanx style="verb">procedure</spanx>, <spanx style="verb">episodic</spanx>, <spanx style="verb">goal</spanx>.
The five DNA-class types — <spanx style="verb">preference</spanx>, <spanx style="verb">decision</spanx>, <spanx style="verb">identity</spanx>,
<spanx style="verb">pitfall</spanx>, <spanx style="verb">procedure</spanx> — carry the additional invariant defined in
<xref target="security"/>.</t>

<t>The <spanx style="verb">zone</spanx> field, if present, <bcp14>MUST</bcp14> be one of <spanx style="verb">critical</spanx>, <spanx style="verb">important</spanx>,
or <spanx style="verb">standard</spanx>.</t>

<t>The <spanx style="verb">is_pinned</spanx> field, if present, <bcp14>MUST</bcp14> be a boolean. Pinned Chunks
share the DNA-class invariant defined in <xref target="security"/>.</t>

<t>The <spanx style="verb">created_at</spanx> field <bcp14>MUST</bcp14> be an ISO-8601 UTC timestamp.</t>

<t>The <spanx style="verb">tags</spanx> field, if present, <bcp14>MUST</bcp14> be a JSON array of strings, each
1-64 codepoints, lowercase ASCII recommended.</t>

<t>The <spanx style="verb">embedding</spanx> field, if present, <bcp14>MUST</bcp14> be encoded per <xref target="embedding"/>.</t>

</section>
<section anchor="chunk-id"><name>Chunk identifier</name>

<t>Chunk identifiers <bcp14>MUST</bcp14> be URNs of the form</t>

<t><spanx style="verb">urn:aimem:&lt;producer&gt;:&lt;local&gt;</spanx></t>

<t>per <xref target="RFC8141"/> where:</t>

<t><list style="symbols">
  <t><spanx style="verb">&lt;producer&gt;</spanx> is the Producer Namespace (lowercase ASCII,
<spanx style="verb">[a-z0-9-]</spanx>, 1-63 chars), identical to the <spanx style="verb">producer</spanx> envelope
field. Producer Namespace assignment is by self-declaration; conflicts
are resolved by domain ownership convention (a Producer <bcp14>SHOULD</bcp14> use a
prefix derived from a domain it controls, e.g. <spanx style="verb">memoryai-prod</spanx> from
<spanx style="verb">memoryai.dev</spanx>).</t>
  <t><spanx style="verb">&lt;local&gt;</spanx> is an opaque identifier unique within <spanx style="verb">&lt;producer&gt;</spanx>, of any
printable ASCII (<spanx style="verb">[\x21-\x7E]</spanx>) up to 256 chars, excluding <spanx style="verb">:</spanx> and
whitespace.</t>
</list></t>

<t>Consumers <bcp14>MUST</bcp14> treat <spanx style="verb">id</spanx> as opaque and <bcp14>MUST NOT</bcp14> parse semantics from
it beyond the namespace prefix. Re-importing a Bundle with the same
<spanx style="verb">(producer, local)</spanx> pair <bcp14>MUST</bcp14> be idempotent (see <xref target="idempotency"/>).</t>

</section>
<section anchor="edge-record"><name>Edges</name>

<t>The <spanx style="verb">edges</spanx> field, if present, <bcp14>MUST</bcp14> be a JSON array of objects with
the following normative fields:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "source_id": "urn:aimem:memoryai-prod:chunk-1",
  "target_id": "urn:aimem:memoryai-prod:chunk-7",
  "edge_type": "hebbian",
  "weight": 0.42,
  "created_at": "2026-04-15T08:00:00Z"
}
]]></sourcecode></figure>

<t>The <spanx style="verb">edge_type</spanx> field <bcp14>MUST</bcp14> be one of <spanx style="verb">hebbian</spanx>, <spanx style="verb">semantic</spanx>, <spanx style="verb">temporal</spanx>,
<spanx style="verb">causal</spanx>, or an implementation-defined value prefixed with <spanx style="verb">x-</spanx>.</t>

<t>The <spanx style="verb">weight</spanx> field <bcp14>MUST</bcp14> be a number in the closed interval <spanx style="verb">[0.0, 1.0]</spanx>.</t>

<t>Both <spanx style="verb">source_id</spanx> and <spanx style="verb">target_id</spanx> <bcp14>MUST</bcp14> reference <spanx style="verb">id</spanx> values present in
the same Bundle's <spanx style="verb">chunks</spanx> array, or the Consumer <bcp14>MUST</bcp14> reject the
Bundle with a 422.</t>

</section>
<section anchor="entity-record"><name>Entities</name>

<t>The <spanx style="verb">entities</spanx> field, if present, <bcp14>MUST</bcp14> be a JSON array of objects with
the following normative fields:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "id": "urn:aimem:memoryai-prod:entity-7",
  "name": "PostgreSQL",
  "kind": "technology",
  "created_at": "2026-04-01T09:30:00Z"
}
]]></sourcecode></figure>

<t>The <spanx style="verb">kind</spanx> field <bcp14>MUST</bcp14> be one of <spanx style="verb">person</spanx>, <spanx style="verb">organization</spanx>, <spanx style="verb">place</spanx>,
<spanx style="verb">technology</spanx>, <spanx style="verb">concept</spanx>, or an implementation-defined value prefixed
with <spanx style="verb">x-</spanx>.</t>

</section>
<section anchor="chunk-entities"><name>Chunk-entity links</name>

<t>The <spanx style="verb">chunk_entities</spanx> field, if present, <bcp14>MUST</bcp14> be a JSON array of objects
linking Chunks to Entities:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "chunk_id": "urn:aimem:memoryai-prod:chunk-1",
  "entity_id": "urn:aimem:memoryai-prod:entity-7"
}
]]></sourcecode></figure>

<t>Both <spanx style="verb">chunk_id</spanx> and <spanx style="verb">entity_id</spanx> <bcp14>MUST</bcp14> reference URNs present in the
same Bundle.</t>

</section>
<section anchor="embedding"><name>Embedding encoding</name>

<t>When a Chunk includes an embedding:</t>

<t><list style="numbers" type="1">
  <t>The Chunk's <spanx style="verb">embedding</spanx> field <bcp14>MUST</bcp14> be a base64-encoded <xref target="RFC4648"/>
little-endian float32 array.</t>
  <t>The envelope <bcp14>MUST</bcp14> declare <spanx style="verb">embedding_dim</spanx> (integer) — the array
length.</t>
  <t>The envelope <bcp14>MUST</bcp14> declare <spanx style="verb">embedding_model</spanx> (string) — the model
identifier under which the vector was produced (e.g.
<spanx style="verb">"text-embedding-3-small"</spanx>, <spanx style="verb">"bge-large-en-v1.5"</spanx>).</t>
</list></t>

<t>A Consumer that does not support <spanx style="verb">embedding_model</spanx> <bcp14>MAY</bcp14> drop the
embeddings (treating the Bundle as if <spanx style="verb">embedding</spanx> were null on every
Chunk) and <bcp14>MUST</bcp14> emit a structured warning identifying the unsupported
model. The Consumer <bcp14>MUST NOT</bcp14> silently re-embed Chunks under a different
model when ingesting; re-embedding is a separate, explicit operation
out of scope for this specification.</t>

</section>
<section anchor="checksum"><name>Checksum</name>

<t>The <spanx style="verb">checksum</spanx> field <bcp14>MUST</bcp14> be computed as follows:</t>

<t><list style="numbers" type="1">
  <t>Remove the <spanx style="verb">checksum</spanx> field from the envelope.</t>
  <t>Serialise the resulting object using JSON Canonicalization Scheme
(<xref target="RFC8785"/>).</t>
  <t>Compute SHA-256 over the UTF-8 bytes.</t>
  <t>Encode as <spanx style="verb">"sha256:" + lowercase_hex(digest)</spanx>.</t>
</list></t>

<t>A Consumer <bcp14>MUST</bcp14> verify the checksum before importing. Verification
failure <bcp14>MUST</bcp14> result in HTTP 409 (Conflict) when the Bundle is delivered
over HTTP, or an equivalent application-level error otherwise.</t>

</section>
<section anchor="idempotency"><name>Idempotency rules</name>

<t>Consumers <bcp14>MUST</bcp14> treat re-imports as idempotent on the URN
<spanx style="verb">(producer, local)</spanx> pair. On re-import:</t>

<t><list style="numbers" type="1">
  <t>If the Chunk already exists with identical <spanx style="verb">content_hash</spanx> and
<spanx style="verb">created_at</spanx>, the Consumer <bcp14>MUST</bcp14> treat the import as a no-op.</t>
  <t>If <spanx style="verb">content_hash</spanx> differs but <spanx style="verb">created_at</spanx> matches, the Consumer
<bcp14>MUST</bcp14> reject the Chunk with a structured error citing the conflict.</t>
  <t>If <spanx style="verb">created_at</spanx> is newer than the stored value, the Consumer <bcp14>MAY</bcp14>
either reject or update at its discretion; the chosen behaviour <bcp14>MUST</bcp14>
be documented.</t>
</list></t>

</section>
</section>
<section anchor="http-profile"><name>HTTP Profile</name>

<t>The following endpoints are <bcp14>RECOMMENDED</bcp14> for implementations that expose
Bundles over HTTP <xref target="RFC9110"/>.</t>

<section anchor="export"><name>Export</name>

<t><spanx style="verb">GET /v1/brain/export?scope={FULL|DNA_ONLY|SINCE}&amp;since={ISO-8601}</spanx></t>

<t>A 200 response <bcp14>MUST</bcp14> contain the Bundle JSON with the
<spanx style="verb">application/aimem-bundle+json</spanx> media type. A 401 response indicates
missing authentication. A 403 response indicates the caller has no
export scope on the Tenant.</t>

<t>For Bundles whose serialised body would exceed 16 MiB, Producers <bcp14>SHOULD</bcp14>
support a streaming variant returning newline-delimited JSON
(<spanx style="verb">application/x-ndjson</spanx>) at <spanx style="verb">GET /v1/brain/export/stream</spanx>. The first
line <bcp14>MUST</bcp14> be the envelope (without the <spanx style="verb">chunks</spanx>, <spanx style="verb">edges</spanx>, <spanx style="verb">entities</spanx>,
<spanx style="verb">chunk_entities</spanx> arrays); subsequent lines <bcp14>MUST</bcp14> be objects of one of
those record types each tagged with a <spanx style="verb">_kind</spanx> field
(<spanx style="verb">"chunk"</spanx>, <spanx style="verb">"edge"</spanx>, <spanx style="verb">"entity"</spanx>, <spanx style="verb">"chunk_entity"</spanx>).</t>

</section>
<section anchor="import"><name>Import</name>

<t><spanx style="verb">POST /v1/brain/import</spanx></t>

<t>The request body <bcp14>MUST</bcp14> be a Bundle. A 200 response indicates a successful
ingest with a summary of inserted, updated, and skipped Chunks. A 409
response indicates checksum mismatch. A 422 response indicates a
malformed Bundle (envelope missing fields, invalid URN, edge references
unknown chunk, etc.).</t>

<t>Errors <bcp14>SHOULD</bcp14> use the format defined in <xref target="RFC7807"/>.</t>

</section>
</section>
<section anchor="conformance-levels"><name>Conformance Levels</name>

<t>A Producer (Level 1) <bcp14>MUST</bcp14> emit a Bundle that round-trips through itself
when re-imported, in conformance with <xref target="idempotency"/>.</t>

<t>A Consumer (Level 2) <bcp14>MUST</bcp14> ingest any Bundle that conforms to
<xref target="bundle-format"/>.</t>

<t>A Bidirectional implementation (Level 3) <bcp14>MUST</bcp14> satisfy both, AND a
Bundle exported from such an implementation <bcp14>MUST</bcp14> be importable into
the same implementation as a no-op (idempotent re-import).</t>

<t>A test corpus exercising each conformance level is included with the
informative reference implementation cited in <xref target="AIMEM-REF"/>.</t>

</section>
<section anchor="security"><name>Security Considerations</name>

<section anchor="dna-class-invariant"><name>DNA-class invariant</name>

<t>Implementations <bcp14>MUST NOT</bcp14> silently decay, delete, or supersede DNA-class
Chunks (see <xref target="terminology"/>) during background processing. Explicit
user-initiated deletion <bcp14>MUST</bcp14> be honoured (see <xref target="erasure"/>); implicit
decay <bcp14>MUST NOT</bcp14>.</t>

<t>The reasoning is operational: a user's identity claims and previously
recorded decisions are higher-cost-to-lose than incidental facts.
Implementations that decay them silently produce a privacy harm
(loss of user-stated history without consent) and a correctness harm
(divergent agent behaviour after decay).</t>

</section>
<section anchor="erasure"><name>Right to erasure</name>

<t>When a Tenant exercises a right-to-erasure request such as
<xref target="GDPR-A17"/>, conforming implementations <bcp14>MUST</bcp14>:</t>

<t><list style="numbers" type="1">
  <t>Hard-delete every Chunk for that Tenant, cascading through any
per-tenant derivative tables (edges, entity links, recall logs,
audit logs that contain content rather than hashes).</t>
  <t>Decrement reference counts on globally shared content pools and
trigger orphan cleanup.</t>
  <t>Filter the Tenant's data out of any subsequent Bundle export, even
if the export request precedes the cascade by milliseconds (i.e.
erasure is durable from the user's perspective).</t>
</list></t>

<t>Implementations <bcp14>SHOULD</bcp14> record the erasure event in a tamper-evident
audit log so an auditor can reconstruct <em>that</em> erasure occurred without
recovering <em>what</em> was erased.</t>

</section>
<section anchor="auth"><name>Bundle authenticity</name>

<t>When a Bundle crosses a trust boundary (e.g. ingest from a third
party), Consumers <bcp14>SHOULD</bcp14> verify the Producer's signature over the
canonicalised Bundle bytes using a detached COSE_Sign1 signature
<xref target="RFC9052"/>.</t>

<t>The signature <bcp14>MUST</bcp14> be carried in the
<spanx style="verb">AIMEM-Signature</spanx> HTTP header for HTTP transports, or in a sibling
file <spanx style="verb">&lt;bundle-name&gt;.sig</spanx> for at-rest exchange. The signature payload
<bcp14>MUST</bcp14> be the canonical JSON form of the Bundle as produced for the
checksum (see <xref target="checksum"/>).</t>

<t>Producers <bcp14>MAY</bcp14> publish their public key under <xref target="RFC8615"/>
<spanx style="verb">/.well-known/aimem-pubkey</spanx>, in COSE_Key format, to facilitate
verification.</t>

<t>Consumers that elect to skip signature verification (e.g. inside a
trusted enclave) <bcp14>MUST</bcp14> log the decision in their audit trail.</t>

</section>
<section anchor="replay-and-idempotency"><name>Replay and idempotency</name>

<t>Consumers <bcp14>MUST</bcp14> treat a re-imported Bundle as idempotent on chunk URN
(within the Producer Namespace) per <xref target="idempotency"/>, and reject any
field changes on a Chunk whose <spanx style="verb">created_at</spanx> matches a prior import.
Replay attacks across trust boundaries are addressed by the
Bundle-level signature defined in <xref target="auth"/>; duplicate ingest within a
trust boundary is addressed by URN idempotency.</t>

</section>
<section anchor="embedding-privacy"><name>Embedding privacy</name>

<t>Embeddings can leak content under inversion attacks. Producers <bcp14>SHOULD
NOT</bcp14> include embeddings in Bundles delivered to untrusted Consumers
unless the Tenant has explicitly consented. Consumers receiving
embeddings <bcp14>MUST</bcp14> treat them with the same access controls as the
underlying <spanx style="verb">content</spanx>.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests the registration of the media type
<spanx style="verb">application/aimem-bundle+json</spanx> per <xref target="RFC8259"/>. The registration
template is provided in <xref target="iana-template"/>.</t>

<section anchor="iana-template"><name>Media type registration template</name>

<figure><artwork><![CDATA[
Type name:        application
Subtype name:     aimem-bundle+json
Required parameters: none
Optional parameters: version (e.g. "1")
Encoding considerations: UTF-8 JSON
Security considerations: see Section 6 of this document
Interoperability considerations: see Section 5 of this document
Published specification: this document
Applications that use this media type: AI agent memory portability tools
Fragment identifier considerations: none
Restrictions on usage: none
Additional information:
  Magic number(s): N/A (UTF-8 JSON)
  File extension(s): .aimem.json
  Macintosh file type code: TEXT
Person & email address to contact:
  Vu Duc Minh <founder@memoryai.vn>
Intended usage: COMMON
Author: Vu Duc Minh
Change controller: IETF (after publication)
]]></artwork></figure>

</section>
</section>
<section anchor="versioning"><name>Versioning</name>

<t>The <spanx style="verb">version</spanx> field is a string. Backwards-compatible additions <bcp14>MUST</bcp14>
keep the same major version. Breaking changes <bcp14>MUST</bcp14> increment the major
version and <bcp14>MUST NOT</bcp14> be silently accepted by Consumers — a v1 Consumer
<bcp14>MUST</bcp14> reject a v2 Bundle with a 422 response.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>

<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</reference>

<reference anchor="RFC8141">
  <front>
    <title>Uniform Resource Names (URNs)</title>
    <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
    <author fullname="J. Klensin" initials="J." surname="Klensin"/>
    <date month="April" year="2017"/>
    <abstract>
      <t>A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier. With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance. With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA). This document obsoletes both RFCs 2141 and 3406.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8141"/>
  <seriesInfo name="DOI" value="10.17487/RFC8141"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC8785">
  <front>
    <title>JSON Canonicalization Scheme (JCS)</title>
    <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
    <author fullname="B. Jordan" initials="B." surname="Jordan"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <date month="June" year="2020"/>
    <abstract>
      <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
      <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8785"/>
  <seriesInfo name="DOI" value="10.17487/RFC8785"/>
</reference>

<reference anchor="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
      <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9052"/>
  <seriesInfo name="DOI" value="10.17487/RFC9052"/>
</reference>

<reference anchor="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
      <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="97"/>
  <seriesInfo name="RFC" value="9110"/>
  <seriesInfo name="DOI" value="10.17487/RFC9110"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC7807">
  <front>
    <title>Problem Details for HTTP APIs</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="E. Wilde" initials="E." surname="Wilde"/>
    <date month="March" year="2016"/>
    <abstract>
      <t>This document defines a "problem detail" as a way to carry machine- readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7807"/>
  <seriesInfo name="DOI" value="10.17487/RFC7807"/>
</reference>

<reference anchor="RFC8615">
  <front>
    <title>Well-Known Uniform Resource Identifiers (URIs)</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <date month="May" year="2019"/>
    <abstract>
      <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
      <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8615"/>
  <seriesInfo name="DOI" value="10.17487/RFC8615"/>
</reference>


<reference anchor="W3C-DID" target="https://www.w3.org/TR/did-core/">
  <front>
    <title>Decentralized Identifiers (DIDs) v1.0</title>
    <author fullname="W3C DID Working Group">
      <organization></organization>
    </author>
    <date year="2022" month="July"/>
  </front>
</reference>
<reference anchor="GDPR-A17" target="https://eur-lex.europa.eu/eli/reg/2016/679/oj">
  <front>
    <title>Regulation (EU) 2016/679 (GDPR), Article 17 — Right to erasure</title>
    <author >
      <organization></organization>
    </author>
    <date year="2016" month="April"/>
  </front>
</reference>
<reference anchor="AIMEM-REF" target="https://github.com/aimem-protocol/aimem-reference">
  <front>
    <title>AIMEM Bundle Reference Implementation (Apache-2.0)</title>
    <author fullname="Vu Duc Minh">
      <organization></organization>
    </author>
    <date year="2026" month="June"/>
  </front>
</reference>


    </references>

</references>


<?line 541?>

<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author thanks the early implementers of the AIMEM Bundle Format
for feedback on the conformance level structure and the embedding
interop gap that motivated the <spanx style="verb">embedding_model</spanx> envelope field.</t>

</section>


  </back>

<!-- ##markdown-source:
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
y5oSOHd24u4ObSjhSXee+l9MCi2FAkcAAA==

-->

</rfc>

