<?xml version="1.0" encoding="utf-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     docName="draft-kale-agntcy-federated-privacy-01"
     category="info"
     ipr="trust200902"
     submissionType="IETF"
     consensus="false"
     version="3">

  <front>
    <title abbrev="Privacy-Preserving FL for Agent Systems">Privacy-Preserving Federated Learning Architecture for Multi-Tenant Agent Systems</title>
    <seriesInfo name="Internet-Draft" value="draft-kale-agntcy-federated-privacy-01"/>

    <author initials="N." surname="Kale" fullname="Nik Kale">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <city>San Jose</city>
          <region>CA</region>
          <country>United States of America</country>
        </postal>
        <email>nikkal@cisco.com</email>
      </address>
    </author>

    <date year="2026" month="July"/>

    <area>Security</area>
    <keyword>federated learning</keyword>
    <keyword>differential privacy</keyword>
    <keyword>secure aggregation</keyword>
    <keyword>AI agents</keyword>
    <keyword>privacy</keyword>

    <abstract>
      <t>This document describes an architecture for privacy-preserving federated learning in multi-tenant agent systems. The architecture is intended for deployments in which agents, tools, services, or model operators need to learn from distributed operational data without centralizing tenant data.</t>
      <t>The architecture separates agent communication from learning coordination. Existing or emerging agent protocols can provide discovery, messaging, authentication, and transport. This document defines the privacy and security requirements for the learning layer: cohort formation, update submission, secure aggregation, differential privacy, privacy accounting, auditability, and model distribution.</t>
      <t>The document is scoped to cross-tenant and cross-organization settings. It does not define a new agent protocol, a new transport protocol, or a new machine learning algorithm.</t>
    </abstract>
  </front>

  <middle>

    <section anchor="intro"><name>Introduction</name>
      <t>Agent systems increasingly operate across tenants, organizations, services, and trust domains. In these settings, agents often produce operational traces that can improve later behavior. Examples include tool invocation outcomes, retrieval quality signals, planner decisions, task completion signals, safety intervention results, and user feedback.</t>
      <t>Centralizing these traces can conflict with tenant isolation requirements, contractual restrictions, data protection law, and enterprise security policy. Training only inside each tenant boundary avoids centralization, but it prevents learning from patterns that appear across tenants.</t>
      <t>Federated learning can reduce the need to centralize raw data by allowing each tenant to compute model updates locally <xref target="McMahan17"/> <xref target="Kairouz21"/>. Differential privacy can bound the information revealed through updates or aggregate outputs <xref target="Dwork14"/>. Secure aggregation can prevent an aggregation service from observing individual tenant updates. Used together, these mechanisms can support cross-tenant learning while reducing privacy risk.</t>
      <t>These mechanisms do not remove all risk. Model updates can leak information. Multi-round training can increase leakage. Small cohorts can expose participants. Malicious tenants can poison a model. Agent traces can contain sensitive user data, tool outputs, credentials, instructions, and policy decisions. A deployment that uses federated learning still needs explicit privacy accounting, access control, update validation, and audit procedures.</t>
      <t>This document describes an architecture and a set of requirements for such deployments.</t>

      <section anchor="scope"><name>Scope</name>
        <t>This document covers:</t>
        <ul spacing="normal">
          <li>Cross-tenant and cross-organization federated learning for agent systems.</li>
          <li>Learning from local traces without sending raw traces to a central service.</li>
          <li>Secure aggregation of model updates.</li>
          <li>Differential privacy and privacy accounting for repeated training rounds.</li>
          <li>Protocol metadata needed to coordinate training rounds.</li>
          <li>Security and privacy risks specific to agent-generated data.</li>
        </ul>
        <t>This document does not cover:</t>
        <ul spacing="normal">
          <li>A new wire protocol for agent communication.</li>
          <li>A replacement for MCP, A2A, SLIM <xref target="SLIM"/>, ADS <xref target="ADS"/>, HTTP APIs, gRPC, or other transports.</li>
          <li>A new training algorithm.</li>
          <li>A complete compliance program for GDPR, HIPAA, CCPA, or other legal regimes.</li>
          <li>Claims that federated learning alone makes a model or deployment private.</li>
        </ul>
      </section>

      <section anchor="relationship"><name>Relationship to Agent Protocol Work</name>
        <t>This document is intended to complement agent protocol work <xref target="AIPROTO"/> rather than replace it.</t>
        <t>Agent communication protocols can provide discovery, addressing, session management, authentication, authorization, tool invocation, and message delivery. A privacy-preserving learning layer needs additional semantics that are not usually defined by those protocols:</t>
        <ul spacing="normal">
          <li>Training task identity.</li>
          <li>Model and model-version identity.</li>
          <li>Cohort eligibility.</li>
          <li>Minimum cohort size.</li>
          <li>Round number and round deadline.</li>
          <li>Update format and size limits.</li>
          <li>Clipping and noise parameters.</li>
          <li>Secure aggregation parameters.</li>
          <li>Privacy accounting state.</li>
          <li>Audit log requirements.</li>
          <li>Model release policy.</li>
        </ul>
        <t>When an agent protocol supports extension metadata, these fields can be carried as protocol extensions. When it does not, they can be carried in a separate coordination API. In either case, the learning layer needs consistent semantics across implementations.</t>
        <t>This document is also related to privacy-preserving measurement work. Privacy-preserving measurement protocols are useful for aggregate statistics and telemetry <xref target="DAP"/> <xref target="VDAF"/>. Federated learning has different requirements because model updates are high-dimensional, repeated over many rounds, and may influence later agent behavior.</t>
      </section>
    </section>

    <section anchor="terminology"><name>Terminology</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>
      <dl spacing="normal">
        <dt>Agent:</dt><dd>A software component that uses a model, tools, memory, policies, or other services to perform tasks on behalf of a user, application, or organization.</dd>
        <dt>Aggregation Service:</dt><dd>A service that combines model updates from multiple participants.</dd>
        <dt>Cohort:</dt><dd>The set of participants selected for a training round.</dd>
        <dt>Coordinator:</dt><dd>A service that creates training tasks, selects cohorts, distributes model parameters, and records privacy accounting metadata.</dd>
        <dt>Differential Privacy:</dt><dd>A mathematical definition that bounds the effect that a privacy unit can have on the output of a computation.</dd>
        <dt>Federated Learning:</dt><dd>A training approach in which participants compute updates using local data and send updates, or shares of updates, for aggregation.</dd>
        <dt>Learning Task:</dt><dd>A configured federated training activity for a specific model, objective, privacy unit, privacy budget, and participant population.</dd>
        <dt>Model Update:</dt><dd>Parameters, gradients, statistics, low-rank adapters, or other values produced by a participant during a training round.</dd>
        <dt>Parameter-Efficient Fine-Tuning (PEFT):</dt><dd>A family of methods that adapt a large pre-trained model by training a small set of additional or selected parameters while the base parameters stay fixed. Low-Rank Adaptation (LoRA) is a common example.</dd>
        <dt>Participant:</dt><dd>A tenant, organization, service, device group, or other entity that performs local training.</dd>
        <dt>Privacy Accountant:</dt><dd>A component or process that tracks privacy loss across training rounds and model releases.</dd>
        <dt>Privacy Budget:</dt><dd>Parameters that bound privacy loss, commonly expressed as epsilon and delta for differential privacy.</dd>
        <dt>Privacy Unit:</dt><dd>The entity protected by a privacy guarantee. Examples include an event, record, user, session, tenant, organization, or device.</dd>
        <dt>Secure Aggregation:</dt><dd>A protocol by which an aggregation service learns an aggregate value without learning individual participant updates.</dd>
        <dt>Tenant:</dt><dd>An administrative domain with its own users, data, policies, and operational boundary.</dd>
        <dt>Training Round:</dt><dd>One iteration in which selected participants receive model parameters, train locally, and contribute updates to an aggregate result.</dd>
      </dl>
    </section>

    <section anchor="problem"><name>Problem Statement</name>
      <t>Consider an agent deployment with multiple tenants. Each tenant has local traces from agent activity. These traces may include prompts, tool calls, retrieval results, generated content, user feedback, safety decisions, and task outcomes.</t>
      <t>The operator wants to improve one or more models or policies using signals from multiple tenants. At the same time, the operator must preserve tenant isolation and limit disclosure of sensitive data.</t>
      <t>A centralized approach sends traces to a shared service. That approach can expose sensitive content and can violate data handling requirements. A local-only approach keeps data inside each tenant, but it prevents learning from cross-tenant patterns. A federated approach keeps raw traces local, but it still exposes updates that may leak information.</t>
      <t>The architecture in this document addresses the following requirements:</t>
      <ul spacing="normal">
        <li>Raw tenant data remains within the tenant boundary.</li>
        <li>Individual participant updates are not visible to the aggregation service in normal operation.</li>
        <li>The privacy unit is stated before training begins.</li>
        <li>Privacy loss is tracked across rounds and model releases.</li>
        <li>Small cohorts are rejected or delayed.</li>
        <li>Participants authenticate the coordinator, aggregation service, and task configuration.</li>
        <li>The coordinator authenticates participants and enforces eligibility.</li>
        <li>Model updates are bound to a specific task, model version, round, and participant.</li>
        <li>The final model is released only if privacy, security, and policy checks pass.</li>
      </ul>
    </section>

    <section anchor="arch"><name>Architecture</name>

      <section anchor="participants"><name>Participants</name>
        <t>The architecture has the following participants:</t>
        <dl spacing="normal">
          <dt>Tenant Participant:</dt><dd>Performs local training on tenant-controlled data.</dd>
          <dt>Coordinator:</dt><dd>Creates learning tasks, selects cohorts, distributes model parameters, and maintains task state.</dd>
          <dt>Aggregation Service:</dt><dd>Aggregates participant updates.</dd>
          <dt>Privacy Accountant:</dt><dd>Tracks privacy loss for the configured privacy unit.</dd>
          <dt>Model Registry:</dt><dd>Stores model versions and release metadata.</dd>
          <dt>Audit Log:</dt><dd>Records task configuration, round state, participant events, privacy accounting output, and model release decisions.</dd>
          <dt>Policy Authority:</dt><dd>Defines tenant eligibility, data-use constraints, privacy limits, and release rules.</dd>
          <dt>Verifier:</dt><dd>Optionally evaluates attestation evidence for participants or services, and optionally checks aggregation integrity evidence as described in <xref target="agg-integrity"/>.</dd>
        </dl>
        <t>These roles can be implemented by separate services or combined in a deployment. Combining roles can simplify operations, but it changes the trust model.</t>
      </section>

      <section anchor="data-categories"><name>Data Categories</name>
        <t>Agent systems can produce data categories that are different from ordinary application telemetry. A deployment SHOULD classify data before using it for learning.</t>
        <t>Relevant categories include:</t>
        <ul spacing="normal">
          <li>User prompts and requests.</li>
          <li>Agent plans and intermediate reasoning artifacts.</li>
          <li>Tool names, tool inputs, and tool outputs.</li>
          <li>Retrieval queries and retrieved content.</li>
          <li>Memory reads and memory writes.</li>
          <li>Safety policy decisions.</li>
          <li>Human approval or rejection events.</li>
          <li>Task outcome labels.</li>
          <li>Latency, error, and resource-use metrics.</li>
        </ul>
        <t>Some of these categories can contain secrets, regulated data, business records, or third-party content. Local preprocessing SHOULD remove or transform data that is not needed for the learning task. Local preprocessing SHOULD NOT rely on the model being trained to decide what is safe to expose.</t>
      </section>

      <section anchor="task-config"><name>Learning Task Configuration</name>
        <t>Each learning task MUST define:</t>
        <ul spacing="normal">
          <li>A task identifier.</li>
          <li>The model or policy being trained.</li>
          <li>The initial model version.</li>
          <li>The allowed participant population.</li>
          <li>The privacy unit.</li>
          <li>The privacy budget and accounting method.</li>
          <li>The update type, as described in <xref target="update-types"/>.</li>
          <li>The clipping rule.</li>
          <li>The noise mechanism, if differential privacy is used.</li>
          <li>The secure aggregation method, if used.</li>
          <li>The minimum cohort size.</li>
          <li>The maximum number of rounds.</li>
          <li>The update schema.</li>
          <li>The model release criteria.</li>
          <li>The retention policy for updates, aggregate values, logs, and model checkpoints.</li>
        </ul>
        <t>Participants MUST be able to inspect the task configuration before contributing an update. A participant MUST reject a task if the configuration is missing required fields or conflicts with local policy.</t>
      </section>

      <section anchor="round-flow"><name>Training Round Flow</name>
        <t>A typical round proceeds as follows:</t>
        <ol spacing="normal">
          <li>The coordinator creates a round for a configured learning task.</li>
          <li>The coordinator selects eligible participants.</li>
          <li>Each participant authenticates the coordinator and verifies the task configuration.</li>
          <li>The coordinator sends the current model version and round metadata.</li>
          <li>Each participant trains locally using data permitted by local policy.</li>
          <li>Each participant clips its update according to the task configuration.</li>
          <li>Each participant applies the configured privacy mechanism, if required at the participant.</li>
          <li>Each participant submits an update, or a share of an update, for aggregation.</li>
          <li>The aggregation service computes the aggregate.</li>
          <li>The privacy accountant updates privacy-loss state.</li>
          <li>The coordinator determines whether the aggregate can update the global model.</li>
          <li>The model registry records the new model version and release metadata.</li>
        </ol>
        <t>The order of steps can vary. For example, distributed differential privacy can require participants to add calibrated noise before secure aggregation. Central differential privacy can require the aggregation service or a trusted component to add noise after aggregation. The chosen model MUST be recorded in the task configuration.</t>
      </section>

      <section anchor="secure-agg"><name>Secure Aggregation</name>
        <t>For cross-tenant or cross-organization deployments, secure aggregation <xref target="Bonawitz17"/> is RECOMMENDED. Without secure aggregation, the aggregation service can observe each participant update. That creates a direct leakage path. Group communication among cohort members can be secured using existing mechanisms such as MLS <xref target="RFC9420"/>.</t>
        <t>Secure aggregation SHOULD provide the following properties:</t>
        <ul spacing="normal">
          <li>The aggregation service learns only an aggregate value for a valid cohort.</li>
          <li>A participant update is bound to one task, one round, and one model version.</li>
          <li>A failed participant does not cause disclosure of another participant's update.</li>
          <li>The protocol handles participant dropout within configured limits.</li>
          <li>The protocol rejects replayed or duplicated updates.</li>
          <li>The protocol authenticates participants and aggregation messages.</li>
        </ul>
        <t>Secure aggregation does not by itself provide differential privacy. The aggregate can still leak information, especially with small cohorts, repeated rounds, or correlated updates.</t>
        <t>Secure aggregation also protects individual updates only under its stated trust and collusion assumptions. Reconstruction of an individual contribution from an aggregate has been demonstrated even when updates are quantized, in settings where the cohort is small and a participant in the cohort is curious <xref target="SECAGG-INV"/>. Cohort-size controls (<xref target="cohort"/>) and differential privacy are therefore needed in addition to secure aggregation, not as alternatives to it.</t>
      </section>

      <section anchor="dp-model"><name>Differential Privacy Model</name>
        <t>A deployment MUST state the privacy unit. It is not enough to state epsilon and delta without saying what entity is protected.</t>
        <t>The privacy unit MAY be:</t>
        <ul spacing="normal">
          <li>A record.</li>
          <li>A user.</li>
          <li>A session.</li>
          <li>A device.</li>
          <li>A tenant.</li>
          <li>An organization.</li>
        </ul>
        <t>For agent systems, user-level or tenant-level privacy is often more relevant than record-level privacy. Record-level privacy can understate risk when many records belong to the same user or tenant. User-level accounting methods exist for this purpose and SHOULD be used when a single user or tenant can contribute many records <xref target="USERDP"/>.</t>
        <t>A deployment MUST also state the differential privacy model:</t>
        <ul spacing="normal">
          <li>Local differential privacy, where participants perturb updates before submission.</li>
          <li>Central differential privacy, where a trusted component adds noise after aggregation.</li>
          <li>Distributed differential privacy, where participants add shares of noise that combine to the required distribution.</li>
        </ul>
        <t>Local differential privacy reduces trust in the coordinator or aggregation service, but it can reduce utility. Central differential privacy can improve utility, but it requires trust in the component that sees the unnoised aggregate. Distributed differential privacy can reduce trust while preserving more utility, but it adds protocol complexity.</t>
      </section>

      <section anchor="accounting"><name>Privacy Accounting</name>
        <t>Federated learning is usually iterative. A single training round does not describe the full privacy risk.</t>
        <t>The privacy accountant MUST track:</t>
        <ul spacing="normal">
          <li>Task identifier.</li>
          <li>Model identifier and version.</li>
          <li>Round number.</li>
          <li>Cohort size.</li>
          <li>Sampling rate or participant selection method.</li>
          <li>Clipping bound.</li>
          <li>Noise multiplier or noise distribution.</li>
          <li>Privacy unit.</li>
          <li>Accounting method.</li>
          <li>Cumulative privacy loss.</li>
          <li>Release decision for each model version.</li>
        </ul>
        <t>Implementations SHOULD use an accountant suitable for iterative training, such as Renyi differential privacy or another accepted composition method <xref target="Abadi16"/> <xref target="DPFL-REVIEW"/>. The chosen method MUST be documented.</t>
        <t>Training MUST stop, or the task MUST be reauthorized, when the configured privacy budget is exhausted.</t>
      </section>

      <section anchor="cohort"><name>Cohort Controls</name>
        <t>Small cohorts increase disclosure risk. A deployment MUST configure a minimum cohort size for each task.</t>
        <t>The coordinator MUST NOT complete a round if the number of valid participants is below the configured minimum. The coordinator SHOULD delay, merge, or cancel such a round rather than lowering the threshold at runtime.</t>
        <t>The minimum cohort size SHOULD reflect:</t>
        <ul spacing="normal">
          <li>The privacy unit.</li>
          <li>The model-update dimension.</li>
          <li>Expected participant correlation.</li>
          <li>The number of rounds.</li>
          <li>The secure aggregation method.</li>
          <li>Whether differential privacy is applied before or after aggregation.</li>
        </ul>
      </section>

      <section anchor="update-types"><name>Model Update Types and Parameter-Efficient Fine-Tuning</name>
        <t>The architecture does not assume a single update type. A model update can be a full gradient, a full set of model parameters, a set of sufficient statistics, or a set of parameter-efficient fine-tuning (PEFT) adapters.</t>
        <t>For agent systems, the model being trained is often a large language model or a component built on one. Full fine-tuning of such models across tenants is rarely practical because of update size and cost. In these deployments the update is usually a parameter-efficient adapter, most commonly a Low-Rank Adaptation (LoRA) adapter, rather than a full gradient <xref target="FEDLLM"/>.</t>
        <t>The update type changes how clipping, noise, secure aggregation, and accounting apply. A deployment MUST record the update type in the task configuration. Clipping and noise MUST be applied to the values that are actually transmitted, not to a notional full gradient.</t>
        <t>When LoRA or similar low-rank adapters are used, implementations need to account for the following:</t>
        <ul spacing="normal">
          <li>Clipping and noise apply to the adapter parameters that are transmitted. The sensitivity bound and noise scale MUST be computed against those parameters.</li>
          <li>A LoRA adapter is a product of two matrices. Adding noise to both factors and then averaging the factors independently does not produce the average of the intended updates, and it can amplify the added noise. Implementations SHOULD use an aggregation method that is correct for the adapter structure. Freezing one factor and training only the other, or aggregating the reconstructed update rather than the separate factors, are two approaches that avoid this problem <xref target="FFA-LoRA"/> <xref target="FLORA"/>.</li>
          <li>Heterogeneous adapter ranks across participants require an aggregation method that supports different ranks. Element-by-element averaging of adapters with different ranks is not defined <xref target="FLORA"/>.</li>
          <li>The privacy unit and accounting method do not change because the update is an adapter. A deployment still MUST state the privacy unit and track cumulative privacy loss across rounds.</li>
        </ul>
        <t>Parameter-efficient updates reduce communication cost and can reduce the surface for some reconstruction attacks, but they do not remove the need for the privacy controls in this document. Adapter updates can still leak information about local data, and a malicious participant can still use an adapter update to poison a model or to attempt to alter safety behavior.</t>
      </section>

      <section anchor="agg-integrity"><name>Aggregation Integrity and Verifiability</name>
        <t>Secure aggregation as described in <xref target="secure-agg"/> limits what the aggregation service can observe. It does not by itself let participants confirm that the aggregation service behaved correctly. A participant generally cannot tell whether its update was included, whether other eligible updates were dropped, whether the reported aggregate matches the updates that were submitted, or whether the released model is the one the round produced.</t>
        <t>For high-assurance deployments, the architecture supports aggregation integrity through commitments and a signed record of each round. The following objects MAY be produced for a round:</t>
        <ul spacing="normal">
          <li>Round manifest: a signed record of the task identifier, round identifier, model version, cohort identifier, round parameters, and deadlines.</li>
          <li>Participant-set commitment: a commitment to the set of participants whose updates were accepted for the round.</li>
          <li>Aggregate commitment: a commitment to the aggregate value used to update the model.</li>
          <li>Privacy accountant report: a signed record of the privacy parameters and cumulative privacy loss applied to the round, as described in <xref target="accounting"/>.</li>
          <li>Model release report: a signed record linking a released model version to the rounds, cohorts, and accounting state that produced it, as described in <xref target="release-metadata"/>.</li>
        </ul>
        <t>When these objects are produced, participants SHOULD be able to verify that the round manifest, participant-set commitment, and aggregate commitment are consistent with the model version they are asked to use in a later round. A deployment that claims aggregation integrity MUST state which objects are produced, who signs them, and how a participant or auditor verifies them.</t>
        <t>Verifiable aggregation does not replace differential privacy or cohort controls. It addresses the correctness of the aggregation process, not the information content of the aggregate or the released model.</t>
      </section>
    </section>

    <section anchor="metadata"><name>Protocol Metadata</name>
      <t>This document does not define a new wire protocol. It defines metadata that any carrying protocol or coordination API needs to represent.</t>

      <section anchor="task-metadata"><name>Task Metadata</name>
        <t>Task metadata SHOULD include:</t>
        <ul spacing="normal">
          <li>task_id</li>
          <li>task_purpose</li>
          <li>model_id</li>
          <li>initial_model_version</li>
          <li>participant_population</li>
          <li>privacy_unit</li>
          <li>dp_model</li>
          <li>epsilon</li>
          <li>delta</li>
          <li>accounting_method</li>
          <li>update_type</li>
          <li>clipping_rule</li>
          <li>noise_parameters</li>
          <li>secure_aggregation_method</li>
          <li>aggregation_integrity_method</li>
          <li>minimum_cohort_size</li>
          <li>maximum_rounds</li>
          <li>update_schema</li>
          <li>release_policy</li>
          <li>retention_policy</li>
        </ul>
      </section>

      <section anchor="round-metadata"><name>Round Metadata</name>
        <t>Round metadata SHOULD include:</t>
        <ul spacing="normal">
          <li>task_id</li>
          <li>round_id</li>
          <li>model_version</li>
          <li>round_deadline</li>
          <li>cohort_id</li>
          <li>minimum_required_updates</li>
          <li>dropout_policy</li>
          <li>aggregation_parameters</li>
          <li>replay_protection_nonce</li>
        </ul>
      </section>

      <section anchor="update-metadata"><name>Update Metadata</name>
        <t>Update metadata SHOULD include:</t>
        <ul spacing="normal">
          <li>task_id</li>
          <li>round_id</li>
          <li>model_version</li>
          <li>participant_id_or_pseudonym</li>
          <li>update_type</li>
          <li>update_schema_version</li>
          <li>clipping_claim</li>
          <li>dp_claim</li>
          <li>secure_aggregation_share_id</li>
          <li>signature</li>
        </ul>
        <t>The update_type field identifies the form of the update, for example full_gradient, full_parameters, statistics, or lora_adapter. When the update is a low-rank adapter, the update schema SHOULD also carry the adapter rank so that the aggregation service can apply a rank-aware aggregation method.</t>
        <t>Participant identifiers in update metadata SHOULD be pseudonymous where possible. The coordinator can still require an authenticated channel or credential for eligibility enforcement.</t>
      </section>

      <section anchor="release-metadata"><name>Release Metadata</name>
        <t>A model release SHOULD record:</t>
        <ul spacing="normal">
          <li>model_id</li>
          <li>model_version</li>
          <li>source_task_id</li>
          <li>included_rounds</li>
          <li>privacy_unit</li>
          <li>cumulative_epsilon</li>
          <li>cumulative_delta</li>
          <li>accounting_method</li>
          <li>cohort_summary</li>
          <li>evaluation_summary</li>
          <li>aggregation_integrity_evidence</li>
          <li>release_approver</li>
          <li>release_time</li>
          <li>retention_policy</li>
        </ul>
        <t>Release metadata SHOULD be available to participants and auditors subject to access-control policy.</t>
      </section>
    </section>

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

      <section anchor="sec-adversary"><name>Adversary Model</name>
        <t>A deployment SHOULD consider at least the following adversaries:</t>
        <ul spacing="normal">
          <li>A curious coordinator.</li>
          <li>A curious aggregation service.</li>
          <li>A malicious participant.</li>
          <li>A group of colluding participants.</li>
          <li>A participant colluding with the aggregation service.</li>
          <li>An attacker who can replay or delay messages.</li>
          <li>An attacker who can register many participants.</li>
          <li>An attacker who can inject malicious content into agent traces.</li>
          <li>An attacker who can modify tool metadata, retrieval content, or policy inputs.</li>
          <li>An attacker who can compromise a model registry or release process.</li>
        </ul>
        <t>The task configuration MUST state which of these adversaries are in scope.</t>
      </section>

      <section anchor="sec-leakage"><name>Gradient and Update Leakage</name>
        <t>Model updates can reveal information about local data. This remains true even when raw data never leaves a tenant. Multi-round training can increase leakage because an attacker can observe how updates change over time.</t>
        <t>Deployments SHOULD use secure aggregation, differential privacy, cohort-size limits, clipping, and privacy accounting to reduce this risk. Deployments SHOULD avoid releasing per-round metrics that allow differencing across small cohorts.</t>
        <t>The protection offered by these mechanisms is not absolute, and the protection can be weaker than assumed. Differential privacy applied by clipping and adding noise has been shown to reduce reconstruction risk for shallow models while providing weaker protection for deeper models at usable privacy budgets, and clipping-aware reconstruction attacks have been demonstrated against central differential privacy <xref target="DP-GLA"/> <xref target="FL-INFERENCE"/>. Deployments SHOULD treat differential privacy as a measured reduction in risk under a stated privacy unit and budget, not as a guarantee that updates cannot be inverted. The privacy unit and budget MUST be chosen with the model architecture and update dimension in mind.</t>
      </section>

      <section anchor="sec-inference"><name>Membership and Property Inference</name>
        <t>An attacker may try to infer whether a user, record, tenant, or property was present in training. The risk is higher with small cohorts, rare features, high-dimensional updates, and repeated rounds.</t>
        <t>Deployments SHOULD define the privacy unit before training. User-level or tenant-level accounting SHOULD be used when the protected entity can contribute many records.</t>
      </section>

      <section anchor="sec-inversion"><name>Model Inversion</name>
        <t>The final model can leak information even if individual updates are hidden. Secure aggregation does not prevent leakage through the trained model.</t>
        <t>Deployments SHOULD evaluate released models for memorization and sensitive-output behavior. A model release SHOULD be blocked when evaluation indicates unacceptable disclosure risk.</t>
      </section>

      <section anchor="sec-poisoning"><name>Poisoning and Backdoors</name>
        <t>Malicious participants can submit updates that degrade model quality, insert a backdoor, or affect behavior for selected prompts, tools, users, or tenants. This risk applies to full updates and to parameter-efficient adapter updates.</t>
        <t>Deployments SHOULD apply update validation, anomaly detection, contribution limits, and release evaluation. Byzantine-resilient aggregation can help, but it is not a substitute for model evaluation. Update validation and anomaly detection require some visibility into updates, which can conflict with secure aggregation and differential privacy. This tension is discussed in <xref target="sec-tension"/>.</t>
      </section>

      <section anchor="sec-sybil"><name>Sybil Participants</name>
        <t>An attacker who can create many participants can influence cohort selection and aggregation. This can reduce privacy and damage model quality.</t>
        <t>The coordinator MUST authenticate participants and enforce eligibility. Cohort selection SHOULD prevent one administrative entity from appearing as many independent participants unless that behavior is intended and accounted for.</t>
      </section>

      <section anchor="sec-replay"><name>Replay and Round Confusion</name>
        <t>A model update from one task, round, or model version MUST NOT be accepted for another. Each update MUST be bound to a task identifier, round identifier, model version, and participant credential or pseudonym.</t>
        <t>Implementations SHOULD use nonces, timestamps, signatures, and round deadlines to prevent replay.</t>
      </section>

      <section anchor="sec-agentdata"><name>Agent-Specific Data Risks</name>
        <t>Agent traces can include sensitive content that ordinary telemetry does not contain. Examples include tool credentials, retrieved documents, customer records, approval decisions, policy prompts, and generated content.</t>
        <t>Local preprocessing SHOULD remove fields not required for the learning task. Tool outputs and retrieved content SHOULD NOT be included in training data unless the task has an explicit policy allowing that use.</t>
      </section>

      <section anchor="sec-injection"><name>Prompt Injection and Tool Poisoning</name>
        <t>Agent traces can be influenced by prompt injection, malicious documents, tool metadata, compromised tools, and adversarial retrieval content. If those traces are used for learning, the attack can move from one tenant into a shared model. Security analyses of agent protocols discuss related risks <xref target="AGENTRFC"/>.</t>
        <t>Deployments SHOULD separate trusted labels from untrusted content. They SHOULD record provenance for training examples and SHOULD reject training data from sources that do not meet task policy.</t>
      </section>

      <section anchor="sec-collusion"><name>Collusion</name>
        <t>Secure aggregation usually assumes limits on collusion. If the aggregation service colludes with enough participants, or if too many participants drop out, individual updates can become exposed.</t>
        <t>The task configuration MUST state the collusion and dropout assumptions of the secure aggregation method. A round MUST fail if those assumptions are not met.</t>
      </section>

      <section anchor="sec-logging"><name>Logging</name>
        <t>Audit logs are needed for accountability, but logs can also expose sensitive data.</t>
        <t>Logs SHOULD record events, identifiers, policy decisions, and accounting outputs. Logs SHOULD NOT include raw training data or plaintext model updates. Access to logs MUST be controlled.</t>
      </section>

      <section anchor="sec-tension"><name>Tension Between Update Privacy and Update Inspection</name>
        <t>Two goals in this architecture pull in opposite directions. Privacy mechanisms, in particular secure aggregation and local differential privacy, are designed to prevent any party from seeing an individual participant update. Defenses against poisoning and backdoors usually rely on inspecting individual updates to detect anomalies. A deployment cannot fully satisfy both with the same mechanism.</t>
        <t>A deployment SHOULD make this trade-off explicit and choose an approach that matches its threat model:</t>
        <ul spacing="normal">
          <li>An approach that prioritizes update privacy relies on secure aggregation and differential privacy, and limits poisoning defense to checks on the aggregate and to evaluation of the released model.</li>
          <li>An approach that prioritizes update inspection allows a trusted component to examine individual updates for anomaly detection. This weakens update privacy and requires a stronger trust assumption about that component.</li>
          <li>A hybrid approach uses techniques that allow limited validation without exposing raw updates, such as range or norm proofs on updates, validation inside a trusted execution environment, or anomaly checks that operate on protected values. These techniques add complexity and their assumptions MUST be stated.</li>
        </ul>
        <t>The chosen approach MUST be recorded in the task configuration, and the residual poisoning risk under that approach SHOULD be stated in the privacy and security analysis.</t>
      </section>
    </section>

    <section anchor="operational"><name>Operational Considerations</name>

      <section anchor="op-modes"><name>Deployment Modes</name>
        <t>This architecture can be deployed in at least three modes:</t>
        <ul spacing="normal">
          <li>Single operator, many tenants.</li>
          <li>Multiple organizations with a shared coordinator.</li>
          <li>Multiple organizations with separate coordinators and a shared aggregation service.</li>
        </ul>
        <t>Each mode has different trust assumptions. The deployment mode MUST be documented.</t>
      </section>

      <section anchor="op-registry"><name>Model Registry</name>
        <t>The model registry SHOULD store model versions, release metadata, and rollback state. Participants SHOULD be able to verify the model version used for a training round.</t>
        <t>The registry SHOULD prevent a model trained under one policy from being released under another policy without review.</t>
      </section>

      <section anchor="op-attestation"><name>Attestation</name>
        <t>Some deployments may require evidence that a participant or service is running approved code in an approved environment. Remote attestation can support that requirement.</t>
        <t>Attestation is OPTIONAL in this architecture. If used, the task configuration SHOULD state what evidence is required, who verifies it, and how verification results affect eligibility.</t>
      </section>

      <section anchor="op-retention"><name>Retention</name>
        <t>Retention periods SHOULD be defined for:</t>
        <ul spacing="normal">
          <li>Local training data.</li>
          <li>Intermediate updates.</li>
          <li>Aggregate values.</li>
          <li>Failed round state.</li>
          <li>Privacy accounting state.</li>
          <li>Model checkpoints.</li>
          <li>Audit logs.</li>
        </ul>
        <t>Retaining intermediate data can improve debugging, but it increases exposure. Deployments SHOULD retain the minimum data needed for security, accountability, and policy obligations.</t>
      </section>
    </section>

    <section anchor="privacy"><name>Privacy Considerations</name>
      <t>Federated learning reduces the need to move raw data, but it is not a privacy guarantee by itself. Privacy depends on the full system: participant selection, update design, secure aggregation, privacy accounting, model release policy, and operational controls. General guidance on privacy in protocols is given in <xref target="RFC6973"/>.</t>
      <t>Deployments SHOULD perform a privacy analysis before enabling a learning task. The analysis SHOULD identify:</t>
      <ul spacing="normal">
        <li>The privacy unit.</li>
        <li>The data categories used.</li>
        <li>The party that can observe each artifact.</li>
        <li>The expected number of rounds.</li>
        <li>The minimum cohort size.</li>
        <li>The differential privacy model.</li>
        <li>The accounting method.</li>
        <li>The release criteria.</li>
        <li>The remaining risks.</li>
      </ul>
      <t>Claims about compliance SHOULD be limited. This architecture can support a compliance program, but it does not by itself establish compliance with any law or regulation.</t>
    </section>

    <section anchor="iana"><name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>

  </middle>

  <back>

    <references>
      <name>References</name>

      <references>
        <name>Normative References</name>

        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner"/>
            <date year="1997" month="March"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>

        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba"/>
            <date year="2017" month="May"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>

      <references>
        <name>Informative References</name>

        <reference anchor="RFC6973" target="https://www.rfc-editor.org/info/rfc6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author initials="A." surname="Cooper" fullname="A. Cooper"/>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig"/>
            <author initials="B." surname="Aboba" fullname="B. Aboba"/>
            <author initials="J." surname="Peterson" fullname="J. Peterson"/>
            <author initials="J." surname="Morris" fullname="J. Morris"/>
            <author initials="M." surname="Hansen" fullname="M. Hansen"/>
            <author initials="R." surname="Smith" fullname="R. Smith"/>
            <date year="2013" month="July"/>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>

        <reference anchor="RFC9420" target="https://www.rfc-editor.org/info/rfc9420">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author initials="R." surname="Barnes" fullname="R. Barnes"/>
            <author initials="B." surname="Beurdouche" fullname="B. Beurdouche"/>
            <author initials="R." surname="Robert" fullname="R. Robert"/>
            <author initials="J." surname="Millican" fullname="J. Millican"/>
            <author initials="E." surname="Omara" fullname="E. Omara"/>
            <author initials="K." surname="Cohn-Gordon" fullname="K. Cohn-Gordon"/>
            <date year="2023" month="July"/>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>

        <reference anchor="Abadi16">
          <front>
            <title>Deep Learning with Differential Privacy</title>
            <author initials="M." surname="Abadi"/>
            <author initials="A." surname="Chu"/>
            <author initials="I." surname="Goodfellow"/>
            <author initials="H.B." surname="McMahan"/>
            <author initials="I." surname="Mironov"/>
            <author initials="K." surname="Talwar"/>
            <author initials="L." surname="Zhang"/>
            <date year="2016"/>
          </front>
          <refcontent>ACM CCS</refcontent>
        </reference>

        <reference anchor="Bonawitz17">
          <front>
            <title>Practical Secure Aggregation for Privacy-Preserving Machine Learning</title>
            <author initials="K." surname="Bonawitz"/>
            <author initials="V." surname="Ivanov"/>
            <author initials="B." surname="Kreuter"/>
            <author initials="A." surname="Marcedone"/>
            <author initials="H.B." surname="McMahan"/>
            <author initials="S." surname="Patel"/>
            <author initials="D." surname="Ramage"/>
            <author initials="A." surname="Segal"/>
            <author initials="K." surname="Seth"/>
            <date year="2017"/>
          </front>
          <refcontent>ACM CCS</refcontent>
        </reference>

        <reference anchor="Dwork14">
          <front>
            <title>The Algorithmic Foundations of Differential Privacy</title>
            <author initials="C." surname="Dwork"/>
            <author initials="A." surname="Roth"/>
            <date year="2014"/>
          </front>
          <refcontent>Foundations and Trends in Theoretical Computer Science</refcontent>
        </reference>

        <reference anchor="Kairouz21">
          <front>
            <title>Advances and Open Problems in Federated Learning</title>
            <author initials="P." surname="Kairouz"/>
            <author initials="H.B." surname="McMahan"/>
            <author initials="B." surname="Avent"/>
            <date year="2021"/>
          </front>
          <refcontent>Foundations and Trends in Machine Learning</refcontent>
        </reference>

        <reference anchor="McMahan17">
          <front>
            <title>Communication-Efficient Learning of Deep Networks from Decentralized Data</title>
            <author initials="H.B." surname="McMahan"/>
            <author initials="E." surname="Moore"/>
            <author initials="D." surname="Ramage"/>
            <author initials="S." surname="Hampson"/>
            <author initials="B." surname="Aguera y Arcas"/>
            <date year="2017"/>
          </front>
          <refcontent>AISTATS</refcontent>
        </reference>

        <reference anchor="DAP">
          <front>
            <title>Distributed Aggregation Protocol for Privacy Preserving Measurement</title>
            <author initials="T." surname="Geoghegan"/>
            <author initials="C." surname="Patton"/>
            <author initials="B." surname="Pitman"/>
            <author initials="E." surname="Rescorla"/>
            <author initials="C.A." surname="Wood"/>
            <date year="2024"/>
          </front>
          <refcontent>Work in Progress</refcontent>
        </reference>

        <reference anchor="VDAF">
          <front>
            <title>Verifiable Distributed Aggregation Functions</title>
            <author initials="R." surname="Barnes"/>
            <author initials="D." surname="Cook"/>
            <author initials="C." surname="Patton"/>
            <author initials="P." surname="Schoppmann"/>
            <date year="2024"/>
          </front>
          <refcontent>Work in Progress</refcontent>
        </reference>

        <reference anchor="SLIM">
          <front>
            <title>Secure Low-Latency Interactive Messaging (SLIM)</title>
            <author initials="L." surname="Muscariello"/>
            <author initials="M." surname="Papalini"/>
            <author initials="M." surname="Sardara"/>
            <author initials="S." surname="Betts"/>
            <date year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mpsb-agntcy-slim"/>
          <refcontent>Work in Progress</refcontent>
        </reference>

        <reference anchor="ADS">
          <front>
            <title>Agent Directory Service</title>
            <author initials="M." surname="Papalini"/>
            <author initials="L." surname="Muscariello"/>
            <date year="2025"/>
          </front>
          <refcontent>Work in Progress</refcontent>
        </reference>

        <reference anchor="AIPROTO">
          <front>
            <title>Framework, Use Cases and Requirements for AI Agent Protocols</title>
            <author initials="J." surname="Rosenberg"/>
            <author initials="C." surname="Jennings"/>
            <date year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosenberg-aiproto-framework"/>
          <refcontent>Work in Progress</refcontent>
        </reference>

        <reference anchor="DPFL-REVIEW" target="https://arxiv.org/abs/2405.08299">
          <front>
            <title>Differentially Private Federated Learning: A Systematic Review</title>
            <author initials="J." surname="Fu"/>
            <author initials="Y." surname="Hong"/>
            <author initials="X." surname="Ling"/>
            <author initials="L." surname="Wang"/>
            <author initials="X." surname="Ran"/>
            <author initials="Z." surname="Sun"/>
            <author initials="W.H." surname="Wang"/>
            <author initials="Z." surname="Chen"/>
            <author initials="Y." surname="Cao"/>
            <date year="2024"/>
          </front>
          <seriesInfo name="arXiv" value="2405.08299"/>
        </reference>

        <reference anchor="FL-INFERENCE" target="https://arxiv.org/abs/2512.15143">
          <front>
            <title>An Efficient Gradient-Based Inference Attack for Federated Learning</title>
            <author initials="P." surname="Montana-Fernandez"/>
            <author initials="I." surname="Ortega-Fernandez"/>
            <date year="2025"/>
          </front>
          <seriesInfo name="arXiv" value="2512.15143"/>
        </reference>

        <reference anchor="AGENTRFC" target="https://arxiv.org/abs/2603.23801">
          <front>
            <title>AgentRFC: Security Design Principles and Conformance Testing for Agent Protocols</title>
            <author initials="S." surname="Zheng"/>
            <author initials="Q." surname="Zhang"/>
            <date year="2026"/>
          </front>
          <seriesInfo name="arXiv" value="2603.23801"/>
        </reference>

        <reference anchor="FEDLLM">
          <front>
            <title>A Survey on Federated Fine-tuning of Large Language Models</title>
            <author initials="Y." surname="Wu"/>
            <date year="2025"/>
          </front>
          <refcontent>arXiv preprint. Verify arXiv identifier before submission.</refcontent>
        </reference>

        <reference anchor="FFA-LoRA">
          <front>
            <title>Improving LoRA in Privacy-preserving Federated Learning</title>
            <author initials="Y." surname="Sun"/>
            <date year="2024"/>
          </front>
          <refcontent>arXiv preprint. Verify arXiv identifier before submission.</refcontent>
        </reference>

        <reference anchor="FLORA">
          <front>
            <title>FLoRA: Federated Fine-Tuning Large Language Models with Heterogeneous Low-Rank Adaptations</title>
            <author initials="Z." surname="Wang"/>
            <date year="2024"/>
          </front>
          <refcontent>arXiv preprint. Verify arXiv identifier before submission.</refcontent>
        </reference>

        <reference anchor="USERDP">
          <front>
            <title>Fine-Tuning Large Language Models with User-Level Differential Privacy</title>
            <author initials="Z." surname="Charles"/>
            <date year="2024"/>
          </front>
          <refcontent>arXiv preprint. Verify arXiv identifier before submission.</refcontent>
        </reference>

        <reference anchor="DP-GLA">
          <front>
            <title>Does Differential Privacy Really Protect Federated Learning From Gradient Leakage Attacks?</title>
            <author initials="J." surname="Hu"/>
            <date year="2024"/>
          </front>
          <refcontent>IEEE Transactions on Mobile Computing</refcontent>
        </reference>

        <reference anchor="SECAGG-INV">
          <front>
            <title>Client-Side Gradient Inversion Attack in Federated Learning Using Secure Aggregation</title>
            <author initials="Y." surname="Sun"/>
            <date year="2024"/>
          </front>
          <refcontent>IEEE Internet of Things Journal</refcontent>
        </reference>

      </references>
    </references>

    <section anchor="example-config"><name>Example Configuration</name>
      <t>The following example is illustrative. Values are not recommendations.</t>
      <sourcecode type="json"><![CDATA[
{
  "learning_task": {
    "task_id": "agent-tool-ranking-2026-07",
    "task_purpose": "Improve tool ranking from local outcome labels",
    "model_id": "tool-ranker",
    "initial_model_version": "2026.07.01",
    "participant_population": "enterprise-tenants",
    "privacy_unit": "tenant",
    "dp_model": "distributed",
    "update_type": "lora_adapter",
    "privacy_budget": {
      "epsilon": 3.0,
      "delta": 0.000001,
      "accounting_method": "renyi-dp"
    },
    "training": {
      "maximum_rounds": 100,
      "local_epochs": 3,
      "clipping_rule": {
        "type": "l2",
        "bound": 1.0
      },
      "lora": {
        "rank": 8,
        "aggregation": "rank-aware"
      }
    },
    "aggregation": {
      "method": "secure-aggregation",
      "integrity_method": "signed-round-manifest",
      "minimum_cohort_size": 25,
      "dropout_policy": "fail-below-threshold"
    },
    "release_policy": {
      "requires_privacy_budget_available": true,
      "requires_security_evaluation": true,
      "requires_model_registry_record": true
    },
    "retention": {
      "plaintext_updates": "not-retained",
      "aggregate_updates": "30-days",
      "privacy_accounting_state": "life-of-model",
      "audit_logs": "365-days"
    }
  }
}
]]></sourcecode>
    </section>

    <section anchor="changes"><name>Changes from -00</name>
      <t>This version:</t>
      <ul spacing="normal">
        <li>Narrows the document to privacy architecture for federated learning in agent systems.</li>
        <li>Clarifies that the document does not define a new agent protocol or transport.</li>
        <li>Adds agent-specific data categories and risks.</li>
        <li>Adds a stronger threat model.</li>
        <li>Makes secure aggregation a recommended baseline for cross-tenant deployments.</li>
        <li>Distinguishes local, central, and distributed differential privacy.</li>
        <li>Requires explicit privacy-unit selection, and recommends user-level or tenant-level accounting when one entity can contribute many records.</li>
        <li>Adds privacy accounting requirements.</li>
        <li>Adds cohort-size and dropout controls.</li>
        <li>Adds handling of parameter-efficient fine-tuning updates, including LoRA, with clipping and noise applied to the transmitted parameters and aggregation methods that are correct for the adapter structure.</li>
        <li>Adds aggregation integrity and verifiability objects for high-assurance deployments.</li>
        <li>States the tension between update privacy and update inspection and the approaches for resolving it.</li>
        <li>Strengthens the description of the limits of differential privacy and secure aggregation against reconstruction.</li>
        <li>Adds protocol metadata for task, round, update, and release state, including update type and aggregation integrity fields.</li>
        <li>Adds operational considerations for registry, attestation, and retention.</li>
        <li>Revises compliance language to avoid overstatement.</li>
        <li>Updates references with recent work on parameter-efficient federated fine-tuning, user-level differential privacy, and reconstruction attacks against differential privacy and secure aggregation.</li>
      </ul>
    </section>

  </back>
</rfc>
