| Internet-Draft | Ephemeral Compaction & Privacy Lineage | November 2026 |
| Durga | Expires 6 May 2027 | [Page] |
Long-running autonomous AI agents periodically summarize, compact, and distill episodic interaction logs into persistent vector or graph memory stores. Lossy context compaction erases the cryptographic provenance of which source documents contributed to a compacted memory state, stripping enterprise sensitivity labels (DLP classifications) and making regulatory data-erasure mandates (GDPR Article 17 Right to Erasure / CCPA purge) impossible to verify. This document specifies the Ephemeral Context Compaction Receipt (ECCR) protocol: a Merkle inclusion and label-ceiling receipt that preserves deterministic sensitivity inheritance and cryptographic purge verifiability across lossy memory compaction boundaries.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 6 May 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
When an agent summarizes 50 conversational turns and 12 retrieved enterprise files into a single compacted memory embedding or summary node, existing provenance formats (W3C PROV, SCITT) lose the cryptographic link between the pre-compaction source digests and the post-compaction memory artifact. Consequently, a HIGHLY_CONFIDENTIAL document can be silently laundered into an unlabeled memory summary, or survive a mandatory regulatory deletion tombstone.¶
This specification complements the foundational execution-trace verification architecture defined in draft-durga-agenttrust-trace-verification-00 by introducing deterministic, fail-closed wire semantics specifically addressing Ephemeral Compaction & Privacy Lineage.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 ([RFC2119] [RFC8174]) when, and only when, they appear in all capitals, as shown here.¶
Whenever an agent memory subsystem performs lossy summarization, KV-cache eviction, or episodic memory compaction, it MUST emit a signed ECCR object before persisting the compacted artifact:¶
{
"eccr_version": "1.0",
"compaction_event_id": "urn:uuid:11a92c44-88b1-42c0-991a-77651234abcd",
"source_items_merkle_root": "sha256:1b4f0e9851971998e732078544c96b36c3d01cedf7caa332359d6f1d83567014",
"source_item_count": 62,
"compacted_output_hash": "sha256:7d865e959b2466918c9863afca942d0fb89d7c9ac0c99bafc3749504ded97730",
"inherited_sensitivity_ceiling": "CONFIDENTIAL_RESTRICTED",
"retention_purge_epoch": 1796083200,
"tombstone_bloom_filter_b64": "base64url_bloom_8B_A8f3_91b0",
"signature": {
"alg": "Ed25519",
"kid": "sha256:b600306cfa76723fdec395e53a9b3d9fdb78b1e2d7a23c32fcbcd2dc6d0c4092",
"sig": "1T9G-F9eEdNTpngEMpZj2P84k649jwESn8VEUuxbRAlHB1Ik9bIqgqfjPfKoJksgKr4UmvAadS_3e5w0UvmqDg"
}
}
¶
Conforming verifiers and relying-party gateways MUST enforce the following deterministic invariants before releasing any downstream side effect:¶
Memory compaction pipelines process untrusted conversational turns and external documents that may attempt to smuggle malformed JSON/Unicode payloads into long-term vector or graph stores. Conforming ECCR emitters and verifiers MUST enforce five pre-canonicalization parser invariants:¶
inherited_sensitivity_ceiling or retention_purge_epoch members) at parse time so a lower sensitivity label cannot overwrite a higher label during deserialization.¶
source_item_count and retention_purge_epoch MUST be exact JSON integers within [1, 2^53 - 1]. Boolean values, floating-point timestamps, pre-epoch negative numbers, and non-finite constants (NaN, Infinity, 1e1000) MUST be rejected.¶
inherited_sensitivity_ceiling MUST match a registered, uppercase ASCII lattice identifier with no leading/trailing whitespace or control characters, and unknown or unmapped classification tiers MUST fail closed to the highest restricted ceiling.¶
source_items_merkle_root and compacted_output_hash MUST match ^sha256:[0-9a-f]{64}$, and any accompanying RFC 9162 inclusion proof MUST bind tree_size to the exact source_item_count.¶
inherited_sensitivity_ceiling and retention_purge_epoch directly from the digest-verified ECCR bytes.¶
The Ephemeral Context Compaction Receipt (ECCR) protocol and sensitivity-ceiling inheritance rules specified in this document have been implemented and validated across open-source telemetry and security regression suites:¶
agentrust-io/agentrust-telemetry, agentrust-io/trace-registry, agentrust-io/weight-custody-manifest, and OWASP/Agent-Security-Regression-Harness ([AGENTIC-GOV-BENCHMARKS]).¶
TraceEvidenceReport) and pinned citation verification are implemented in Rust in xerj-org/xerj (engine/crates/xerj-common/src/hub_evidence.rs, [XERJ-HUB-EVIDENCE]).¶
All pre-image objects MUST be canonicalized using RFC 8785 JSON Canonicalization Scheme (JCS) prior to signature generation or verification under RFC 8032 Ed25519. Any clock skew exceeding 60 seconds, digest mismatch, or missing cryptographic binding MUST cause the verifier to fail closed and emit an auditable security rejection receipt. For the normative test vector in Section 3, the Ed25519 test key seed is 2a2a...2a (32 bytes of 0x2a), yielding raw 32-byte public key 197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61 (kid = sha256:b600306cfa76723fdec395e53a9b3d9fdb78b1e2d7a23c32fcbcd2dc6d0c4092), and the full RFC 8785 JCS-canonicalized envelope (672 bytes) hashes to SHA-256 fb90df742a9b5bb44e844884790f042c334e881a0b04320fa842e0d652b33d9f. This specification cross-references the companion Internet-Drafts ([I-D.durga-agenttrust-trace-verification], [I-D.durga-wimse-ctx-isolation], [I-D.durga-pquip-pqc-agentic-delegation], [I-D.durga-agent-tx-compensation-lease]), external Verdict Record evidence binding ([I-D.wright-verdict-record]), Remote Attestation ([RFC9334]), Merkle Tree domain separation ([RFC9162]), and the 100-scenario OWASP ASI01-ASI10 benchmark ([OWASP-ASI-BENCHMARK-DOI]).¶
This document requests IANA registration of the media type application/agent-lineage-eccr+json and the registry IETF Agent Memory Sensitivity Ceiling Profiles, alongside the following header fields:¶
Agent-Memory-Lineage-Receipt¶