<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-howe-vcon-consent-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="vCon Consent Attachment">Voice Conversation (vCon) Consent Attachment</title>
    <seriesInfo name="Internet-Draft" value="draft-howe-vcon-consent-00"/>
    <author fullname="Thomas McCarthy-Howe">
      <organization>Strolid, Inc.</organization>
      <address>
        <email>thomas.howe@strolid.com</email>
      </address>
    </author>
    <author fullname="S. Lasker">
      <organization>Independent</organization>
      <address>
        <email>stevenlasker@hotmail.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="21"/>
    <area>art</area>
    <workgroup>vcon</workgroup>
    <keyword>conversation</keyword>
    <keyword>consent</keyword>
    <keyword>vcon</keyword>
    <keyword>CDR</keyword>
    <keyword>call detail record</keyword>
    <keyword>call meta data</keyword>
    <keyword>call recording</keyword>
    <keyword>email thread</keyword>
    <keyword>text conversation</keyword>
    <keyword>video recording</keyword>
    <keyword>video conference</keyword>
    <keyword>conference recording</keyword>
    <keyword>SCITT</keyword>
    <keyword>transparency</keyword>
    <keyword>privacy</keyword>
    <keyword>GDPR</keyword>
    <keyword>CCPA</keyword>
    <keyword>HIPAA</keyword>
    <abstract>
      <?line 205?>

<t>This document defines a consent attachment type for Voice Conversations (vCon), establishing standardized mechanisms for recording, verifying, and managing consent information within conversation containers as defined in the vCon core specification.
The consent attachment addresses privacy compliance challenges through structured metadata including consenting parties, temporal validity periods, and cryptographic proof mechanisms.</t>
      <t>The specification defines the mandatory and optional fields for consent attachments, including expiration timestamps, party references, dialog segments, and consent arrays.
It supports granular consent management through purpose-based permissions and integrates with the AI Preferences vocabulary for automated processing systems.
The attachment type incorporates SCITT (Supply Chain Integrity, Transparency, and Trust) for cryptographic transparency and provides integration patterns for consent ledger services.</t>
      <t>Key features include automated consent detection during conversation processing, auditable consent records with cryptographic proofs, support for consent revocation through superseding statements, and integration with existing privacy regulations.
The consent attachment enables organizations to maintain compliance while providing sufficient structure for automated processing and verification of consent throughout the vCon lifecycle.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/vcon-dev/draft-howe-vcon-consent"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-howe-vcon-consent/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Virtualized Conversations Working Group mailing list (<eref target="mailto:vcon@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/vcon/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/vcon/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/vcon-dev/draft-howe-vcon-consent"/>.</t>
    </note>
  </front>
  <middle>
    <?line 217?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Voice conversations often contain sensitive information that requires proper consent management.
This document defines a consent attachment type for Virtualized Conversations (vCon) that enables automated consent detection, structured consent recording, and proof mechanisms for compliance with privacy regulations.</t>
      <t>A vCon (Virtualized Conversation) is a standardized container format for storing conversation data, including metadata, participants, and conversation content, as defined in <xref target="I-D.draft-ietf-vcon-core-00"/>.
The vCon specification provides an overview of the technology and use cases <xref target="I-D.draft-ietf-vcon-overview-00"/>, while the core document defines the data model and structure.
vCons support extensible attachments that can carry additional structured data related to the conversation.
These attachments enable the association of various types of information with the conversation, such as transcripts, analytics, or consent records.</t>
      <t>The consent attachment type provides a standardized mechanism for recording and managing consent information within vCon containers.
This attachment captures essential consent metadata including the consenting party, the specific dialog or conversation segment covered by the consent, temporal validity periods, and any associated proof mechanisms.
By embedding consent information directly within the vCon structure, implementations can maintain the integrity of the consent record and ensure it remains associated with the relevant conversation data throughout the lifecycle of the vCon.</t>
      <t>The consent attachment addresses key privacy and compliance challenges faced by organizations handling voice conversations.
It enables automated consent detection during conversation processing, provides auditable consent records, and supports regulatory compliance through structured consent management.
The attachment type is designed to be flexible enough to accommodate various consent models while providing sufficient structure to enable automated processing and verification.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>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 <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <section anchor="core-terms">
        <name>Core Terms</name>
        <t><strong>Consent</strong>: Any freely given, specific, informed, and unambiguous indication of the data subject's wishes by which they, by a statement or by a clear affirmative action, signify agreement to the processing of personal data relating to them <xref target="GDPR"/>.</t>
        <t><strong>Data Subject</strong>: The identified or identifiable natural person to whom personal data relates <xref target="GDPR"/>. Also referred to as "consumer" in some jurisdictions <xref target="CCPA"/>.</t>
        <t><strong>Data Controller</strong>: The natural or legal person, public authority, agency, or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data <xref target="GDPR"/>.</t>
        <t><strong>Data Processor</strong>: A natural or legal person, public authority, agency, or other body which processes personal data on behalf of the controller <xref target="GDPR"/>.</t>
        <t><strong>Personal Data</strong>: Any information relating to an identified or identifiable natural person <xref target="GDPR"/>.</t>
        <t><strong>Processing</strong>: Any operation or set of operations performed on personal data <xref target="GDPR"/>.</t>
      </section>
      <section anchor="vcon-specific-terms">
        <name>vCon-Specific Terms</name>
        <t><strong>vCon</strong>: A standardized container for conversational information, including metadata, participants, dialog content, analysis, and attachments <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
        <t><strong>vCon Instance</strong>: A vCon populated with data for a specific conversation <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
        <t><strong>vCon Instance Version</strong>: A single version of an instance of a conversation, which may be modified to redact or append additional information <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
        <t><strong>Party</strong>: An observer or participant to the conversation, either passive or active <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
        <t><strong>Dialog</strong>: The captured conversation in its original form (e.g., text, audio, or video) <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
        <t><strong>Analysis</strong>: Analysis, transformations, summary, sentiment, or translation typically of the dialog data <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
        <t><strong>Attachment</strong>: A data block either included or referenced in a vCon <xref target="I-D.draft-ietf-vcon-core-00"/>.</t>
      </section>
      <section anchor="consent-specific-terms">
        <name>Consent-Specific Terms</name>
        <t><strong>Consent Attachment</strong>: A vCon attachment of type "consent" that contains structured consent information for one or more parties to a conversation.</t>
        <t><strong>Consent Statement</strong>: A structured representation of consent that includes the consenting party, purposes, temporal validity, and proof mechanisms.</t>
        <t><strong>Consent Ledger</strong>: A SCITT Transparency Service that maintains authoritative consent state and provides cryptographic receipts for consent operations.</t>
        <t><strong>Consent Proof</strong>: Cryptographic or other evidence that validates the authenticity and integrity of a consent statement.</t>
        <t><strong>Consent Purpose</strong>: A specific use case or processing activity for which consent is granted or denied.</t>
        <t><strong>Consent Status</strong>: The current state of consent (granted, denied, revoked, expired) for a specific purpose.</t>
        <t><strong>Consent Expiration</strong>: The point in time when consent becomes invalid, either through explicit expiration or revocation.</t>
        <t><strong>Consent Revocation</strong>: The withdrawal of previously granted consent by the data subject.</t>
        <t><strong>Consent Verification</strong>: The process of validating that consent is current, valid, and applicable to the requested processing activity.</t>
      </section>
      <section anchor="technical-terms">
        <name>Technical Terms</name>
        <t><strong>SCITT</strong>: Supply Chain Integrity, Transparency, and Trust - a protocol for maintaining append-only transparency ledgers <xref target="I-D.draft-ietf-scitt-scrapi-05"/>.</t>
        <t><strong>SCRAPI</strong>: SCITT Receipt API - the interface for interacting with SCITT Transparency Services <xref target="I-D.draft-ietf-scitt-scrapi-05"/>.</t>
        <t><strong>COSE</strong>: CBOR Object Signing and Encryption - a standard for creating and processing signed, encrypted, and MACed objects <xref target="RFC8949"/>.</t>
        <t><strong>COSE Sign1</strong>: A COSE structure containing a single signature <xref target="RFC8949"/>.</t>
        <t><strong>AI Preferences Vocabulary</strong>: A standardized vocabulary for expressing preferences related to automated processing systems <xref target="I-D.draft-ietf-aipref-vocab-01"/>.</t>
        <t><strong>Clock Skew</strong>: The difference in time between different systems, which must be accounted for when validating temporal constraints.</t>
        <t><strong>Referential Integrity</strong>: The consistency of references between consent attachments and the vCon elements they reference.</t>
        <t><strong>Data Minimization</strong>: The principle of limiting personal data collection to what is necessary for the specified purpose <xref target="GDPR"/>.</t>
        <t><strong>Privacy by Design</strong>: The principle of embedding privacy considerations into the design and architecture of systems and processes <xref target="NIST-PRIVACY"/>.</t>
      </section>
    </section>
    <section anchor="regulatory-terms">
      <name>Regulatory Terms</name>
      <t><strong>GDPR</strong>: General Data Protection Regulation - the primary data protection law in the European Union <xref target="GDPR"/>.</t>
      <t><strong>CCPA</strong>: California Consumer Privacy Act - a state statute intended to enhance privacy rights and consumer protection for residents of California <xref target="CCPA"/>.</t>
      <t><strong>HIPAA</strong>: Health Insurance Portability and Accountability Act - a US law that provides data privacy and security provisions for safeguarding medical information <xref target="HIPAA"/>.</t>
      <t><strong>Right to be Forgotten</strong>: The right of data subjects to have their personal data erased <xref target="GDPR"/>.</t>
      <t><strong>Right of Access</strong>: The right of data subjects to obtain confirmation of whether their personal data is being processed and access to that data <xref target="GDPR"/>.</t>
      <t><strong>Right of Rectification</strong>: The right of data subjects to have inaccurate personal data corrected <xref target="GDPR"/>.</t>
      <t><strong>Right of Portability</strong>: The right of data subjects to receive their personal data in a structured, commonly used, machine-readable format <xref target="GDPR"/>.</t>
      <t><strong>Lawful Basis</strong>: One of the six legal grounds for processing personal data under GDPR: consent, contract, legal obligation, vital interests, public task, or legitimate interests <xref target="GDPR"/>.</t>
    </section>
    <section anchor="requirements">
      <name>Requirements</name>
      <section anchor="consent-attachment-requirements-summary">
        <name>Consent Attachment Requirements Summary</name>
        <t>The vCon consent specification establishes standardized requirements for managing consent information within voice conversation containers as defined in <xref target="I-D.draft-ietf-vcon-core-00"/>.
The specification addresses privacy compliance challenges through structured consent attachments that capture essential metadata and proof mechanisms.</t>
      </section>
      <section anchor="core-requirements">
        <name>Core Requirements</name>
        <t><strong>Mandatory Fields</strong>: Consent attachments must include four essential fields:</t>
        <ul spacing="normal">
          <li>
            <t><strong>expiration</strong>: RFC3339 timestamp indicating consent validity period</t>
          </li>
          <li>
            <t><strong>party</strong>: Zero-based index referencing the consenting party in the vCon parties array</t>
          </li>
          <li>
            <t><strong>dialog</strong>: Zero-based index referencing the specific conversation segment</t>
          </li>
          <li>
            <t><strong>consents</strong>: Array containing the actual consent records and permissions</t>
          </li>
        </ul>
        <t><strong>Optional Fields</strong>: Additional fields may include terms of service references, status monitoring intervals, consent ledger URLs, and cryptographic proof mechanisms.</t>
      </section>
      <section anchor="temporal-management">
        <name>Temporal Management</name>
        <t>Consent attachments must implement proper expiration handling with configurable clock skew tolerance (default maximum 5 minutes).
Indefinite consent is supported through null expiration values but requires periodic revalidation mechanisms.</t>
      </section>
      <section anchor="referential-integrity">
        <name>Referential Integrity</name>
        <t>The specification enforces strict referential integrity between consent attachments and vCon elements.
Party and dialog references must be validated against the vCon structure, and modifications to the underlying conversation data require corresponding updates to consent attachments.</t>
      </section>
      <section anchor="status-monitoring">
        <name>Status Monitoring</name>
        <t>Consent status must be verified at configurable intervals based on data sensitivity:</t>
        <ul spacing="normal">
          <li>
            <t>High-sensitivity data: 24-hour verification cycles</t>
          </li>
          <li>
            <t>Standard business data: 7-day verification cycles</t>
          </li>
          <li>
            <t>Low-sensitivity data: 30-day verification cycles</t>
          </li>
          <li>
            <t>Public data: 90-day verification cycles</t>
          </li>
        </ul>
      </section>
      <section anchor="terms-of-service-integration">
        <name>3.1.5. Terms of Service Integration</name>
        <t>Terms of service references must be immutable and support both URI references and embedded content.
Implementations should maintain local caching with proper HTTP cache control compliance.</t>
      </section>
      <section anchor="compliance-and-audit">
        <name>3.1.6. Compliance and Audit</name>
        <t>The specification enables automated consent detection, auditable consent records, and regulatory compliance through structured consent management.
It supports various consent models while providing sufficient structure for automated processing and verification.</t>
      </section>
    </section>
    <section anchor="consent-attachment-structure">
      <name>Consent Attachment Structure</name>
      <t>The consent attachment MUST be a JSON object that is included in the vCon attachments array.
The consent attachment MUST contain the following top-level fields: "expiration", "party", "dialog" and "consents".
Implementations MUST reject consent attachments that are missing any of these required fields.</t>
      <t>The consent attachment MAY contain the following top-level fields "terms_of_service", "status_interval", "consent_ledger", "proof".</t>
      <t>The consent attachment SHOULD include appropriate metadata fields as defined in the vCon core specification <xref target="I-D.draft-ietf-vcon-core-00"/>, including "type", "start", and "signature" fields when applicable.</t>
    </section>
    <section anchor="temporal-validity-and-expiration">
      <name>Temporal Validity and Expiration</name>
      <t>The "expiration" field MUST contain a timestamp in RFC3339 format indicating when the consent becomes invalid.
Implementations MUST compare the current time against this expiration timestamp and SHALL reject expired consent attachments.</t>
      <t>The expiration timestamp MAY be set to <tt>null</tt> to indicate indefinite consent duration, as defined by local policy or applicable regulations.
When the expiration field is <tt>null</tt>, the consent is considered valid indefinitely until explicitly revoked.
However, implementations SHOULD provide mechanisms for periodic consent revalidation even when indefinite consent is granted.</t>
      <t>When processing consent attachments, implementations MUST account for clock skew and SHOULD allow for reasonable time differences between systems.
The acceptable clock skew tolerance SHOULD be configurable but MUST NOT exceed 5 minutes by default.</t>
    </section>
    <section anchor="terms-of-service-integration-1">
      <name>Terms of Service Integration</name>
      <t>The "terms_of_service" field MUST contain either a URI reference to the applicable terms of service document or an embedded terms object.
When using URI references, implementations MUST support HTTPS URLs and SHOULD support content integrity verification through cryptographic hashes.</t>
      <t>The terms of service reference MUST be immutable for the lifetime of the consent attachment.
If terms of service change, a new consent attachment MUST be created rather than modifying the existing reference.</t>
      <t>Implementations SHOULD maintain a local cache of terms of service documents to ensure availability during consent verification.
The cache SHOULD respect HTTP cache control headers when fetching terms documents via URI.</t>
    </section>
    <section anchor="party-and-dialog-references">
      <name>Party and Dialog References</name>
      <t>The "party" field MUST contain a zero-based integer index referencing an entry in the vCon parties array.
Implementations MUST validate that the referenced party index exists in the vCon and SHOULD verify that the party has authority to grant consent for the specified dialog.</t>
      <t>The "dialog" field MUST contain a zero-based integer index referencing an entry in the vCon dialog array.
Multiple consent attachments MAY reference the same dialog entry to represent consent from different parties or for different purposes.</t>
      <t>Implementations MUST maintain referential integrity between consent attachments and the referenced vCon elements.
When a vCon is modified through redaction or amendment, consent attachment references MUST be updated accordingly or the consent MUST be invalidated.</t>
    </section>
    <section anchor="status-monitoring-and-intervals">
      <name>Status Monitoring and Intervals</name>
      <t>The "status_interval" field MUST specify the maximum time interval, in seconds, between consent status verifications.
Implementations MUST perform consent status checks at least as frequently as specified by this interval.</t>
      <t>The status interval MUST be a positive integer value.
A status interval of zero indicates that consent status MUST be verified on every access to the associated dialog content.</t>
      <section anchor="recommended-interval-values">
        <name>Recommended Interval Values</name>
        <t>The following intervals are RECOMMENDED based on privacy regulation requirements and operational considerations:</t>
        <ul spacing="normal">
          <li>
            <t><strong>High-sensitivity data</strong>: 86400 seconds (24 hours) - For medical, financial, or legal conversations</t>
          </li>
          <li>
            <t><strong>Standard business data</strong>: 604800 seconds (7 days) - For typical business communications</t>
          </li>
          <li>
            <t><strong>Low-sensitivity data</strong>: 2592000 seconds (30 days) - For general customer service interactions</t>
          </li>
          <li>
            <t><strong>Public/transparent data</strong>: 7776000 seconds (90 days) - For non-private communications that do not contain personally identifiable information not in the public domain.</t>
          </li>
        </ul>
        <t>Implementations SHOULD consider the following factors when selecting intervals:</t>
        <ul spacing="normal">
          <li>
            <t>Data sensitivity and regulatory requirements (GDPR, CCPA, HIPAA, etc.)</t>
          </li>
          <li>
            <t>Risk tolerance and compliance obligations</t>
          </li>
          <li>
            <t>Operational overhead of frequent verification</t>
          </li>
          <li>
            <t>User experience impact of verification delays</t>
          </li>
          <li>
            <t>Consent revocation patterns and requirements</t>
          </li>
        </ul>
        <t>When the status interval expires, implementations MUST either verify consent status through the consent ledger mechanism or treat the consent as potentially invalid until verification is completed. Implementations MAY continue to honor consent during brief verification delays but MUST NOT exceed twice the specified status interval without successful verification.</t>
      </section>
    </section>
    <section anchor="consent-ledger-integration">
      <name>Consent Ledger Integration</name>
      <t>The "consent_ledger" field SHOULD contain a URL referencing a SCITT Transparency Service that maintains the authoritative consent state. Implementations MAY use this URL to verify current consent status and detect consent revocations.</t>
      <section anchor="scitt-transparency-service-interface">
        <name>SCITT Transparency Service Interface</name>
        <t>Consent ledger services MUST implement the SCRAPI interface as specified in <xref target="I-D.draft-ietf-scitt-scrapi-05"/>. The consent ledger acts as a SCITT Transparency Service that:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Registers Consent Statements</strong>: Consent attachments are registered as Signed Statements using the <tt>/entries</tt> endpoint</t>
          </li>
          <li>
            <t><strong>Issues Receipts</strong>: Provides cryptographic receipts proving consent registration</t>
          </li>
          <li>
            <t><strong>Enables Verification</strong>: Allows verification of consent status through receipt validation</t>
          </li>
          <li>
            <t><strong>Supports Revocation</strong>: Handles consent revocation through statement updates</t>
          </li>
        </ol>
      </section>
      <section anchor="consent-statement-format">
        <name>Consent Statement Format</name>
        <t>Consent statements MUST be formatted as COSE Sign1 objects containing:</t>
        <artwork><![CDATA[
{
  "protected": {
    "alg": "ES256",
    "kid": "consent-issuer-key-id",
    "cty": "application/vcon-consent+json"
  },
  "unprotected": {
    "consent_id": "urn:uuid:consent-identifier",
    "vcon_uuid": "urn:uuid:vcon-identifier",
    "party_index": 0,
    "dialog_index": 0
  },
  "payload": {
    "consents": [
      {
        "purpose": "recording",
        "status": "granted",
        "timestamp": "2025-01-02T12:15:30Z"
      }
    ],
    "expiration": "2026-01-02T12:00:00Z",
    "terms_of_service": "https://example.com/terms"
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="consent-ledger-operations">
      <name>Consent Ledger Operations</name>
      <section anchor="registration">
        <name>Registration</name>
        <ul spacing="normal">
          <li>
            <t><strong>Endpoint</strong>: <tt>POST /entries</tt></t>
          </li>
          <li>
            <t><strong>Content-Type</strong>: <tt>application/cose</tt></t>
          </li>
          <li>
            <t><strong>Body</strong>: COSE Sign1 consent statement</t>
          </li>
          <li>
            <t><strong>Response</strong>: 201 with receipt or 303 with location for async processing</t>
          </li>
        </ul>
        <section anchor="status-verification">
          <name>Status Verification</name>
          <ul spacing="normal">
            <li>
              <t><strong>Endpoint</strong>: <tt>GET /entries/{entry-id}</tt></t>
            </li>
            <li>
              <t><strong>Response</strong>: 200 with receipt or 302/404 for pending/not found</t>
            </li>
          </ul>
        </section>
        <section anchor="receipt-resolution">
          <name>Receipt Resolution</name>
          <ul spacing="normal">
            <li>
              <t><strong>Endpoint</strong>: <tt>GET /entries/{entry-id}</tt></t>
            </li>
            <li>
              <t><strong>Response</strong>: 200 with current receipt or 404 if not found</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="consent-revocation">
        <name>Consent Revocation</name>
        <t>Consent revocation is handled by registering a new Signed Statement that supersedes the original consent:</t>
        <artwork><![CDATA[
{
  "protected": {
    "alg": "ES256",
    "kid": "consent-issuer-key-id",
    "cty": "application/vcon-consent+json"
  },
  "unprotected": {
    "consent_id": "urn:uuid:consent-identifier",
    "vcon_uuid": "urn:uuid:vcon-identifier",
    "supersedes": "urn:uuid:original-consent-id",
    "revocation": true
  },
  "payload": {
    "consents": [
      {
        "purpose": "recording",
        "status": "revoked",
        "timestamp": "2025-01-03T10:30:00Z"
      }
    ],
    "revocation_reason": "user_request",
    "revocation_timestamp": "2025-01-03T10:30:00Z"
  }
}
]]></artwork>
      </section>
      <section anchor="implementation-requirements">
        <name>Implementation Requirements</name>
        <t>When a consent ledger URL is provided, implementations MUST:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Support SCRAPI</strong>: Implement all mandatory SCRAPI endpoints</t>
          </li>
          <li>
            <t><strong>Use HTTPS</strong>: All communications MUST use TLS 1.2 or higher</t>
          </li>
          <li>
            <t><strong>Authenticate</strong>: Implement appropriate authentication as specified by the ledger service</t>
          </li>
          <li>
            <t><strong>Handle Failures</strong>: Gracefully handle service unavailability</t>
          </li>
          <li>
            <t><strong>Verify Receipts</strong>: Validate all receipts using SCITT verification procedures</t>
          </li>
          <li>
            <t><strong>Cache Strategically</strong>: Cache consent state within status_interval limits</t>
          </li>
        </ol>
      </section>
      <section anchor="error-handling">
        <name>Error Handling</name>
        <t>Consent ledger services MUST return appropriate HTTP status codes and Concise Problem Details objects as specified in SCRAPI:</t>
        <ul spacing="normal">
          <li>
            <t><strong>400</strong>: Malformed consent statement</t>
          </li>
          <li>
            <t><strong>401</strong>: Authentication required</t>
          </li>
          <li>
            <t><strong>403</strong>: Registration policy violation</t>
          </li>
          <li>
            <t><strong>404</strong>: Consent not found</t>
          </li>
          <li>
            <t><strong>429</strong>: Rate limiting exceeded</t>
          </li>
          <li>
            <t><strong>503</strong>: Service temporarily unavailable</t>
          </li>
        </ul>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>Consent ledger services SHOULD implement privacy-preserving mechanisms:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Minimal Data</strong>: Only store consent metadata, not full vCon content</t>
          </li>
          <li>
            <t><strong>Access Control</strong>: Implement appropriate access controls for consent queries</t>
          </li>
          <li>
            <t><strong>Audit Logging</strong>: Maintain audit trails for compliance purposes</t>
          </li>
          <li>
            <t><strong>Data Retention</strong>: Implement appropriate data retention policies</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="cryptographic-proof-requirements">
      <name>Cryptographic Proof Requirements</name>
      <t>The "proof" field MUST contain an array of proof objects that provide cryptographic evidence of valid consent.
Each proof object MUST include a "type" field specifying the proof mechanism and a "value" field containing the proof data.</t>
      <t>Proof objects MAY include various types of evidence:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Dialog-based proofs</strong>: Consent statements or confirmations given verbally or textually within the conversation dialog itself</t>
        </li>
        <li>
          <t><strong>External document proofs</strong>: Signed consent forms, terms of service agreements, or other legal documents referenced by URL or embedded content</t>
        </li>
        <li>
          <t><strong>External site proofs</strong>: Consent granted through web interfaces, mobile applications, or other external systems that provide cryptographic attestation</t>
        </li>
      </ul>
      <t>Implementations MUST support digital signature proofs using algorithms specified in the IANA COSE Algorithms registry <xref target="COSE-ALG"/>.
The proof SHOULD include a timestamp indicating when the consent was granted and MUST include a reference to the consenting party's cryptographic identity.</t>
      <t>When multiple proofs are present, implementations MUST verify all proofs and SHALL reject the consent attachment if any proof fails validation.
The proof verification process MUST include validation of the signing key authority and certificate chain when applicable.</t>
      <t>Proof objects MAY reference external proof data to minimize consent attachment size.
When external references are used, implementations MUST verify the integrity of externally referenced proof data using cryptographic hashes included in the proof object.</t>
    </section>
    <section anchor="granular-consent-management">
      <name>Granular Consent Management</name>
      <t>The "consents" field MUST contain an array of consent objects, each specifying a particular permission granted by the consenting party.
Each consent object MUST include a "purpose" field identifying the specific use case and a "status" field indicating whether consent is granted or denied.</t>
      <t>Standard consent purposes MUST include "recording", "transcription", "analysis", "storage", and "sharing".
Implementations MAY define additional purpose categories but SHOULD use standardized purpose taxonomies when available.</t>
      <section anchor="ai-preferences-vocabulary-support">
        <name>AI Preferences Vocabulary Support</name>
        <t>Implementations SHOULD support the AI Preferences vocabulary as defined in <xref target="I-D.draft-ietf-aipref-vocab-01"/> for expressing granular consent related to automated processing systems.
When using the AI Preferences vocabulary, consent objects MAY include the following standardized categories:</t>
        <ul spacing="normal">
          <li>
            <t><strong>tdm</strong>: Text and Data Mining - Automated analytical techniques for analyzing text and data</t>
          </li>
          <li>
            <t><strong>ai</strong>: AI Training - Training machine learning models or artificial intelligence</t>
          </li>
          <li>
            <t><strong>genai</strong>: Generative AI Training - Training AI models that generate synthetic content</t>
          </li>
          <li>
            <t><strong>search</strong>: Search - Building search indexes or providing search results</t>
          </li>
          <li>
            <t><strong>inference</strong>: AI Inference - Using assets as input to trained AI/ML models</t>
          </li>
        </ul>
        <t>When the AI Preferences vocabulary is used, consent objects SHOULD include a "vocabulary" field set to "ai-pref" to indicate the use of this standardized vocabulary.
The "purpose" field SHOULD use the corresponding label from the AI Preferences vocabulary (e.g., "ai", "genai", "tdm").</t>
        <t>Example consent object using AI Preferences vocabulary:</t>
        <artwork><![CDATA[
{
  "purpose": "genai",
  "status": "denied",
  "vocabulary": "ai-pref",
  "timestamp": "2025-01-02T12:15:30Z"
}
]]></artwork>
        <t>Implementations that support the AI Preferences vocabulary MUST follow the hierarchical relationship rules defined in <xref target="I-D.draft-ietf-aipref-vocab-01"/>, where more specific categories override general categories unless explicitly stated otherwise.</t>
        <t>Each consent object SHOULD include additional metadata such as the timestamp when consent was granted, any restrictions or conditions on the consent, and references to applicable legal regulations.</t>
        <t>Implementations MUST support fine-grained consent evaluation, allowing different consent decisions for different purposes.
When multiple consent objects apply to the same purpose, the most restrictive consent MUST take precedence.</t>
      </section>
    </section>
    <section anchor="consent-withdrawal-and-revocation">
      <name>Consent Withdrawal and Revocation</name>
      <t>Implementations MUST support consent withdrawal mechanisms that allow data subjects to revoke previously granted consent.
When consent is revoked, the consent status in the ledger service MUST be updated immediately and all processing of the associated dialog content MUST cease.</t>
      <t>The consent withdrawal process MUST provide confirmation to the data subject and SHOULD include a timestamp of when the revocation became effective.
Implementations MUST honor consent revocations even if they cannot immediately delete or modify existing vCon instances.</t>
      <t>When consent is revoked, implementations SHOULD notify all parties that have received copies of the vCon containing the revoked consent.
The notification mechanism MAY use the SCITT transparency service integration described in the vCon overview <xref target="I-D.draft-ietf-vcon-overview-00"/> and related vCon lifecycle specifications.</t>
    </section>
    <section anchor="privacy-and-data-minimization">
      <name>Privacy and Data Minimization</name>
      <t>Consent attachments MUST implement data minimization principles by including only information necessary for consent verification and audit purposes.
Personal information SHOULD NOT be duplicated in consent attachments when it is already available in the referenced vCon elements.</t>
      <t>The consent attachment design MUST support privacy-preserving verification mechanisms that allow consent validation without exposing sensitive personal information to all parties in a consent verification workflow.</t>
      <t>Implementations SHOULD support consent attachment redaction techniques that allow sensitive consent details to be removed while maintaining the ability to verify that valid consent was originally present.</t>
    </section>
    <section anchor="error-handling-and-validation">
      <name>Error Handling and Validation</name>
      <t>Implementations MUST validate consent attachment syntax according to the JSON schema defined in this specification.
Malformed consent attachments MUST be rejected with appropriate error messages indicating the specific validation failures.</t>
      <t>When consent validation fails, implementations MUST NOT process the associated dialog content and SHOULD log the failure for audit purposes.
The error handling process MUST distinguish between temporary failures (such as network timeouts during ledger verification) and permanent failures (such as invalid cryptographic proofs).</t>
      <t>Implementations SHOULD provide detailed error reporting to assist with troubleshooting consent validation issues while avoiding exposure of sensitive information in error messages.</t>
    </section>
    <section anchor="interoperability-and-versioning">
      <name>Interoperability and Versioning</name>
      <t>Consent attachments MUST include version information to support evolution of the consent attachment specification.
Implementations MUST handle version mismatches gracefully and SHOULD support multiple consent attachment versions during transition periods.</t>
      <t>The consent attachment format MUST be designed to support extensions while maintaining backward compatibility with existing implementations.
New fields MAY be added to consent attachments but MUST NOT break existing validation logic.</t>
      <t>Implementations SHOULD support consent attachment format negotiation when multiple parties exchange vCons with different consent attachment version support.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>All consent attachments MUST be integrity protected using the vCon signing mechanisms as defined in <xref target="I-D.draft-ietf-vcon-core-00"/>.
Consent attachments containing sensitive information SHOULD be encrypted when the vCon is transmitted outside secure environments.</t>
      <t>Implementations MUST protect consent ledger communications using TLS and SHOULD implement additional authentication mechanisms to prevent unauthorized consent status queries or modifications.</t>
      <t>The consent attachment design MUST prevent replay attacks and consent forgery through appropriate use of timestamps, nonces, and cryptographic binding to the specific vCon instance and dialog content.</t>
      <t>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 <xref target="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals, as shown here.</t>
      <artwork><![CDATA[
{
  "expiration": "2026-01-02T12:00:00Z",
  "terms_of_service": "https://example.com/terms",
  "party": 0,
  "dialog": 0,
  "status_interval": "30d",
  "consent_ledger": "https://ledger.example.com/consent/123",
  "proof": [
    {
      "timestamp": "2025-01-02T12:15:30Z",
      "type": "verbal_confirmation"
    },
    {
      "url": "https://example.com/consent-form.pdf",
      "type": "external_asset"
    }
  ],
  "consents": [
    {
      "value": true,
      "consent": "recording"
    },
    {
      "value": true,
      "consent": "transcription"
    },
    {
      "value": true,
      "consent": "analysis"
    }
  ]
}
]]></artwork>
    </section>
    <section anchor="attachment-fields">
      <name>Attachment Fields</name>
      <section anchor="required-fields">
        <name>Required Fields</name>
        <ul spacing="normal">
          <li>
            <t><strong>expiration</strong>: ISO 8601 timestamp indicating when consent expires</t>
          </li>
          <li>
            <t><strong>party</strong>: Index of the party in the vCon parties array</t>
          </li>
          <li>
            <t><strong>dialog</strong>: Index of the dialog in the vCon dialog array</t>
          </li>
          <li>
            <t><strong>consents</strong>: Array of consent objects with value and consent type</t>
          </li>
        </ul>
      </section>
      <section anchor="optional-fields">
        <name>Optional Fields</name>
        <ul spacing="normal">
          <li>
            <t><strong>terms_of_service</strong>: URL to the terms of service document</t>
          </li>
          <li>
            <t><strong>status_interval</strong>: Duration string (e.g., "30d") for status check intervals</t>
          </li>
          <li>
            <t><strong>consent_ledger</strong>: URL to external consent ledger for audit purposes</t>
          </li>
          <li>
            <t><strong>proof</strong>: Array of proof objects supporting the consent</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="consent-objects">
      <name>Consent Objects</name>
      <t>Each consent object MUST contain:</t>
      <ul spacing="normal">
        <li>
          <t><strong>value</strong>: Boolean indicating consent status (true for granted, false for denied)</t>
        </li>
        <li>
          <t><strong>consent</strong>: String identifying the consent type (e.g., "recording", "transcription", "analysis")</t>
        </li>
      </ul>
    </section>
    <section anchor="proof-objects">
      <name>Proof Objects</name>
      <t>Proof objects provide evidence of consent and MAY contain:</t>
      <ul spacing="normal">
        <li>
          <t><strong>timestamp</strong>: ISO 8601 timestamp when consent was given</t>
        </li>
        <li>
          <t><strong>type</strong>: Proof type identifier (e.g., "verbal_confirmation", "external_asset")</t>
        </li>
        <li>
          <t><strong>url</strong>: URL to external proof document (for external_asset type)</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="vcon-attachment-type-registration">
        <name>vCon Attachment Type Registration</name>
        <t>This document requests IANA to register the following vCon attachment type:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Type</strong>: consent</t>
          </li>
          <li>
            <t><strong>Description</strong>: Consent information for voice conversation participants</t>
          </li>
          <li>
            <t><strong>Reference</strong>: This document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="how-to-use-the-consent-attachment">
      <name>How to Use the Consent Attachment</name>
      <section anchor="creating-a-consent-attachment">
        <name>Creating a Consent Attachment</name>
        <t>To create a consent attachment for a vCon:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Identify the consenting party</strong>: Reference the party index in the vCon parties array</t>
          </li>
          <li>
            <t><strong>Specify the dialog segment</strong>: Reference the dialog index in the vCon dialog array</t>
          </li>
          <li>
            <t><strong>Define consent permissions</strong>: Create consent objects for each purpose</t>
          </li>
          <li>
            <t><strong>Set expiration</strong>: Define when the consent expires</t>
          </li>
          <li>
            <t><strong>Add proof mechanisms</strong>: Include cryptographic or other proof of consent</t>
          </li>
          <li>
            <t><strong>Include in vCon</strong>: Add the attachment to the vCon attachments array</t>
          </li>
        </ol>
      </section>
      <section anchor="example-usage">
        <name>Example Usage</name>
        <artwork><![CDATA[
{
  "type": "consent",
  "start": "2025-01-02T12:15:30Z",
  "expiration": "2026-01-02T12:00:00Z",
  "party": 0,
  "dialog": 0,
  "consents": [
    {
      "purpose": "recording",
      "status": "granted",
      "timestamp": "2025-01-02T12:15:30Z"
    }
  ],
  "proof": [
    {
      "type": "verbal_confirmation",
      "timestamp": "2025-01-02T12:15:30Z"
    }
  ]
}
]]></artwork>
      </section>
      <section anchor="processing-consent-attachments">
        <name>Processing Consent Attachments</name>
        <t>When processing a vCon with consent attachments:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Validate structure</strong>: Ensure all required fields are present</t>
          </li>
          <li>
            <t><strong>Check expiration</strong>: Verify the consent hasn't expired</t>
          </li>
          <li>
            <t><strong>Verify references</strong>: Ensure party and dialog indices are valid</t>
          </li>
          <li>
            <t><strong>Validate proofs</strong>: Verify cryptographic or other proof mechanisms</t>
          </li>
          <li>
            <t><strong>Check ledger status</strong>: If a consent ledger is specified, verify current status</t>
          </li>
          <li>
            <t><strong>Apply permissions</strong>: Use consent status to determine allowed operations</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="privacy-considerations-1">
      <name>Privacy Considerations</name>
      <t>This document describes mechanisms for managing consent information within vCon containers as defined in <xref target="I-D.draft-ietf-vcon-core-00"/>.
Implementers MUST ensure compliance with applicable privacy regulations, including but not limited to GDPR <xref target="GDPR"/>, CCPA <xref target="CCPA"/>, and HIPAA <xref target="HIPAA"/>.</t>
      <t>The consent attachment provides structured mechanisms for recording and verifying consent, but implementers are responsible for ensuring that their implementations properly respect and enforce data subject rights, including:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Right of Access</strong>: Data subjects must be able to access their consent records</t>
        </li>
        <li>
          <t><strong>Right of Rectification</strong>: Data subjects must be able to correct inaccurate consent information</t>
        </li>
        <li>
          <t><strong>Right to be Forgotten</strong>: Data subjects must be able to revoke consent and request deletion</t>
        </li>
        <li>
          <t><strong>Right of Portability</strong>: Data subjects must be able to export their consent data</t>
        </li>
        <li>
          <t><strong>Consent Withdrawal</strong>: Data subjects must be able to withdraw consent at any time</t>
        </li>
      </ul>
      <t>Implementers SHOULD follow privacy by design principles <xref target="NIST-PRIVACY"/> and implement appropriate technical and organizational measures to protect personal data throughout the consent lifecycle.</t>
    </section>
    <section anchor="security-considerations-1">
      <name>Security Considerations</name>
      <t>Consent attachments contain sensitive information that requires appropriate security measures:</t>
      <section anchor="cryptographic-protection">
        <name>Cryptographic Protection</name>
        <ul spacing="normal">
          <li>
            <t>All consent attachments MUST be integrity protected using vCon signing mechanisms</t>
          </li>
          <li>
            <t>Consent attachments containing sensitive information SHOULD be encrypted when transmitted outside secure environments</t>
          </li>
          <li>
            <t>Implementations MUST use strong cryptographic algorithms as specified in <xref target="COSE-ALG"/></t>
          </li>
        </ul>
      </section>
      <section anchor="access-control">
        <name>Access Control</name>
        <ul spacing="normal">
          <li>
            <t>Implementations MUST implement appropriate access controls for consent data</t>
          </li>
          <li>
            <t>Consent verification SHOULD be performed with minimal privilege</t>
          </li>
          <li>
            <t>Audit logging MUST be implemented for all consent operations</t>
          </li>
        </ul>
      </section>
      <section anchor="network-security">
        <name>Network Security</name>
        <ul spacing="normal">
          <li>
            <t>All communications with consent ledger services MUST use TLS 1.2 or higher</t>
          </li>
          <li>
            <t>Implementations MUST validate certificate chains and hostnames</t>
          </li>
          <li>
            <t>Implementations SHOULD implement certificate pinning for critical services</t>
          </li>
        </ul>
      </section>
      <section anchor="data-protection">
        <name>Data Protection</name>
        <ul spacing="normal">
          <li>
            <t>Consent data SHOULD be encrypted at rest</t>
          </li>
          <li>
            <t>Implementations MUST implement secure key management</t>
          </li>
          <li>
            <t>Implementations SHOULD support hardware security modules for key storage</t>
          </li>
        </ul>
      </section>
      <section anchor="threat-mitigation">
        <name>Threat Mitigation</name>
        <ul spacing="normal">
          <li>
            <t>Implementations MUST prevent replay attacks through proper use of timestamps and nonces</t>
          </li>
          <li>
            <t>Implementations MUST validate all cryptographic proofs to prevent forgery</t>
          </li>
          <li>
            <t>Implementations SHOULD implement rate limiting to prevent abuse</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="references">
      <name>References</name>
      <t>{backmatter}</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="Scott Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
          </front>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="BCP" value="14"/>
        </reference>
        <reference anchor="RFC3339" target="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author initials="G." surname="Klyne" fullname="Graham Klyne">
              <organization>Nine by Nine</organization>
            </author>
            <author initials="C." surname="Newman" fullname="Chris Newman">
              <organization>Sun Microsystems</organization>
            </author>
            <date year="2002" month="July"/>
          </front>
          <seriesInfo name="RFC" value="3339"/>
        </reference>
        <reference anchor="RFC8174" target="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="Barry Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
          </front>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="BCP" value="14"/>
        </reference>
        <reference anchor="RFC8949" target="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author initials="P." surname="Hoffman" fullname="Paul E. Hoffman">
              <organization>VPN Consortium</organization>
            </author>
            <date year="2020" month="December"/>
          </front>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="STD" value="94"/>
        </reference>
        <reference anchor="I-D.draft-ietf-scitt-scrapi-05" target="I-D.draft-ietf-scitt-scrapi-05">
          <front>
            <title>SCITT Reference APIs</title>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author initials="J." surname="Geater" fullname="Jon Geater">
              <organization>DataTrails Inc.</organization>
            </author>
            <date year="2025" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-05"/>
        </reference>
        <reference anchor="I-D.draft-ietf-aipref-vocab-01" target="I-D.draft-ietf-aipref-vocab-01">
          <front>
            <title>A Vocabulary For Expressing AI Usage Preferences</title>
            <author initials="P." surname="Keller" fullname="Paul Keller">
              <organization>Open Future</organization>
            </author>
            <author initials="M." surname="Thomson" fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <date year="2025" month="June"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-aipref-vocab-01"/>
        </reference>
        <reference anchor="I-D.draft-ietf-vcon-core-00" target="I-D.draft-ietf-vcon-core-00">
          <front>
            <title>Voice Conversation (vCon) Core Data Model</title>
            <author initials="D." surname="Petrie" fullname="Daniel Petrie">
              <organization>SIPez LLC</organization>
            </author>
            <date year="2025" month="March"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-core-00"/>
        </reference>
        <reference anchor="I-D.draft-ietf-vcon-overview-00" target="I-D.draft-ietf-vcon-overview-00">
          <front>
            <title>Voice Conversation (vCon) Overview</title>
            <author initials="T." surname="McCarthy-Howe" fullname="Thomas McCarthy-Howe">
              <organization>Strolid</organization>
            </author>
            <date year="2025" month="March"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-overview-00"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="GDPR" target="https://gdpr.eu/">
          <front>
            <title>General Data Protection Regulation</title>
            <author>
              <organization>European Union</organization>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="CCPA" target="https://oag.ca.gov/privacy/ccpa">
          <front>
            <title>California Consumer Privacy Act</title>
            <author>
              <organization>State of California</organization>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="HIPAA" target="https://www.hhs.gov/hipaa/index.html">
          <front>
            <title>Health Insurance Portability and Accountability Act</title>
            <author>
              <organization>U.S. Department of Health and Human Services</organization>
            </author>
            <date year="1996"/>
          </front>
        </reference>
        <reference anchor="NIST-PRIVACY" target="https://www.nist.gov/privacy-framework">
          <front>
            <title>NIST Privacy Framework</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="COSE-ALG" target="https://www.iana.org/assignments/cose/cose.xhtml">
          <front>
            <title>COSE Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2025" month="July"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 852?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <ul spacing="normal">
        <li>
          <t>Thank you to Diana James and Cody Launius for their collaboration and imagination.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
