<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-condrey-rats-pop-collaborative-00" ipr="trust200902" submissionType="independent" xml:lang="en" version="3">

  <front>
    <title abbrev="PoP Collaborative">Proof of Process: Collaborative Authorship Extension</title>

    <seriesInfo name="Internet-Draft" value="draft-condrey-rats-pop-collaborative-00"/>

    <author fullname="David Condrey" initials="D." surname="Condrey">
      <organization>Writerslogic Inc</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>david@writerslogic.com</email>
      </address>
    </author>

    <date year="2026" month="February" day="6"/>

    <area>Security</area>
    <workgroup>Remote ATtestation procedureS</workgroup>

    <keyword>collaborative</keyword>
    <keyword>multi-author</keyword>
    <keyword>attestation</keyword>
    <keyword>co-authorship</keyword>

    <abstract>
      <t>
        This document defines an extension to the Proof of Process (PoP)
        specification for documenting collaborative authorship. The
        extension enables multiple contributors to independently attest
        to their individual contributions while maintaining a unified
        Evidence chain for the combined document. This supports use cases
        including academic co-authorship, legal document drafting by teams,
        and creative works with multiple writers.
      </t>
    </abstract>
  </front>

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

      <t>
        This document defines mechanisms for documenting collaborative
        authorship where multiple contributors produce a single work.
        The collaborative model enables each contributor to attest to
        their individual contributions while maintaining a unified
        Evidence chain for the combined document.
      </t>

      <t>
        This extension is defined as a companion to the main Proof of
        Process specification <xref target="I-D.condrey-rats-pop"/>.
      </t>

      <section anchor="conventions">
        <name>Requirements Language</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="RFC2119"/> <xref target="RFC8174"/> when, and
          only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>

    <section anchor="motivation">
      <name>Motivation</name>

      <t>
        Modern knowledge work is frequently collaborative:
      </t>

      <ul>
        <li>Academic papers with multiple co-authors</li>
        <li>Legal documents drafted by teams</li>
        <li>Technical documentation with subject matter experts</li>
        <li>Creative works with co-writers or editors</li>
      </ul>

      <t>
        The base Proof of Process Evidence model assumes a single author
        with one signing key. Without explicit collaboration support,
        teams must either:
      </t>

      <ul>
        <li>
          Designate one member to generate Evidence, losing attribution
          for other contributors.
        </li>
        <li>
          Generate separate Evidence packets and link them via provenance,
          losing unified document history.
        </li>
        <li>
          Share a single signing key, compromising individual
          accountability.
        </li>
      </ul>

      <t>
        The collaborative authorship model addresses these limitations
        by enabling multiple contributors to independently attest to
        their contributions within a shared Evidence structure.
      </t>
    </section>

    <section anchor="collaboration-structure">
      <name>Collaboration Section Structure</name>

      <t>
        The collaboration section is an optional component of the Evidence
        packet, identified by integer key 22. It documents the participants
        and their respective contributions.
      </t>

      <sourcecode type="cddl"><![CDATA[
; Collaboration section for multi-author works
; Key 22 in evidence-packet
collaboration-section = {
    1 => collaboration-mode,         ; mode
    2 => [+ collaborator],           ; participants
    ? 3 => [+ contribution-claim],   ; contributions
    ? 4 => merge-record,             ; merge-history
    ? 5 => collaboration-policy,     ; governance
}

collaboration-mode = &(
    sequential: 1,                   ; One active author at a time
    parallel: 2,                     ; Concurrent editing, merged
    delegated: 3,                    ; Primary author + contributors
    peer-review: 4,                  ; Author + reviewers/editors
)

; Individual collaborator record
collaborator = {
    1 => cose-key,                   ; collaborator-pubkey
    2 => collaborator-role,          ; role
    ? 3 => tstr,                     ; display-name
    ? 4 => tstr,                     ; identifier (ORCID, etc.)
    5 => [+ time-interval],          ; active-periods
    ? 6 => [+ uint],                 ; checkpoint-ranges (indices)
    7 => cose-signature,             ; collaborator-attestation
    ? 8 => contribution-summary,     ; contribution-stats
}

collaborator-role = &(
    primary-author: 1,               ; Main/lead author
    co-author: 2,                    ; Equal contributor
    contributing-author: 3,          ; Section/chapter contributor
    editor: 4,                       ; Editorial contributions
    reviewer: 5,                     ; Review comments incorporated
    technical-contributor: 6,        ; Data, code, figures
    translator: 7,                   ; Translation work
)

; Summary of a collaborator's contributions
contribution-summary = {
    1 => uint,                       ; checkpoints-authored
    2 => uint,                       ; chars-added
    3 => uint,                       ; chars-deleted
    4 => duration,                   ; active-time
    ? 5 => float32,                  ; estimated-contribution-pct
}

; Detailed contribution claims
contribution-claim = {
    1 => contribution-type,          ; type
    2 => cose-key,                   ; contributor-key
    ? 3 => [+ uint],                 ; checkpoint-indices
    ? 4 => tstr,                     ; description
    ? 5 => float32,                  ; extent (0.0-1.0)
}

contribution-type = &(
    original-content: 1,             ; New text/content
    editing: 2,                      ; Revisions to existing content
    research: 3,                     ; Research contribution
    data-analysis: 4,                ; Data/analysis contribution
    figures-tables: 5,               ; Visual elements
    code: 6,                         ; Code contributions
    review-feedback: 7,              ; Review that influenced content
    structural: 8,                   ; Organization/structure
)

; Record of merge operations
merge-record = {
    1 => [+ merge-event],            ; merges
}

merge-event = {
    1 => pop-timestamp,              ; merge-time
    2 => uint,                       ; resulting-checkpoint
    3 => [+ cose-key],               ; merged-contributors
    ? 4 => merge-strategy,           ; strategy
    ? 5 => tstr,                     ; merge-note
}

merge-strategy = &(
    sequential-append: 1,            ; Sections appended in order
    interleaved: 2,                  ; Content merged throughout
    conflict-resolved: 3,            ; Conflicts manually resolved
    automated: 4,                    ; Automated merge tool
)

; Collaboration governance policy
collaboration-policy = {
    ? 1 => uint,                     ; min-approvers-for-merge
    ? 2 => bool,                     ; requires-all-signatures
    ? 3 => tstr,                     ; policy-uri
}
]]></sourcecode>
    </section>

    <section anchor="collaborator-attestation">
      <name>Collaborator Attestation</name>

      <t>
        Each collaborator provides an independent attestation of their
        contribution. This enables Verifiers to confirm that each
        participant acknowledged their role.
      </t>

      <section anchor="attestation-content">
        <name>Attestation Content</name>

        <artwork><![CDATA[
collaborator-attestation = COSE_Sign1(
    payload = CBOR_encode({
        1: packet-id,                ; Evidence packet ID
        2: collaborator-pubkey,      ; Attesting collaborator's key
        3: role,                     ; Declared role
        4: active-periods,           ; When contributor was active
        5: checkpoint-ranges,        ; Which checkpoints they authored
        6: contribution-summary,     ; Self-reported contribution stats
        7: attestation-timestamp,    ; When attestation was made
    }),
    key = collaborator-private-key
)
]]></artwork>

        <t>
          The attestation binds the collaborator's identity to specific
          checkpoints and contribution claims, enabling per-contributor
          accountability.
        </t>
      </section>

      <section anchor="attestation-timing">
        <name>Attestation Timing</name>

        <t>
          Collaborator attestations may be collected:
        </t>

        <ul>
          <li>
            <strong>Incrementally:</strong> Each collaborator signs after
            their contribution period ends.
          </li>
          <li>
            <strong>At export:</strong> All collaborators sign when the
            Evidence packet is finalized.
          </li>
          <li>
            <strong>Post-hoc:</strong> Collaborators sign after reviewing
            the complete Evidence (attestation-timestamp will be later
            than final checkpoint).
          </li>
        </ul>

        <t>
          The attestation-timestamp enables Verifiers to determine when
          each collaborator endorsed the Evidence.
        </t>
      </section>
    </section>

    <section anchor="verification">
      <name>Verification of Collaborative Evidence</name>

      <t>
        Verifiers of collaborative Evidence MUST perform additional
        checks beyond single-author verification:
      </t>

      <ol>
        <li>
          Verify that all collaborator-attestation signatures are valid.
        </li>
        <li>
          Verify that checkpoint-ranges claimed by collaborators do not
          have unexplained gaps (all checkpoints should be attributed).
        </li>
        <li>
          Verify that checkpoint-ranges do not overlap for modes that
          prohibit concurrent editing (sequential mode).
        </li>
        <li>
          For merge events, verify that the merge-time falls within the
          active-periods of the merged contributors.
        </li>
        <li>
          Verify that contribution-summary statistics are plausible given
          the checkpoint data (e.g., chars-added should not exceed total
          chars in attributed checkpoints).
        </li>
      </ol>

      <t>
        The Attestation Result SHOULD document:
      </t>

      <ul>
        <li>Number of collaborators and their roles</li>
        <li>Whether all collaborator attestations were verified</li>
        <li>Any gaps in checkpoint attribution</li>
        <li>Consistency of contribution claims</li>
      </ul>
    </section>

    <section anchor="privacy">
      <name>Privacy Considerations</name>

      <t>
        Collaborative Evidence inherently reveals information about
        multiple individuals. Participants SHOULD consider:
      </t>

      <ul>
        <li>
          Collaborator public keys may be linkable across documents.
          Contributors may use per-document keypairs for privacy.
        </li>
        <li>
          Active-periods reveal when each contributor was working,
          which may be sensitive in some contexts.
        </li>
        <li>
          Contribution percentages may be contentious; participants
          SHOULD agree on methodology before Evidence generation.
        </li>
        <li>
          Reviewer/editor roles reveal the review process, which may
          be confidential for some publications.
        </li>
      </ul>
    </section>

    <section anchor="example">
      <name>Collaborative Evidence Example</name>

      <t>
        Academic paper with three co-authors:
      </t>

      <sourcecode type="cbor-diag"><![CDATA[
collaboration-section = {
  1: 2,
  2: [
    {
      1: h'alice-cose-key...',
      2: 1,
      3: "Alice Smith",
      4: "orcid:0000-0001-2345-6789",
      5: [
        {1: 1(1704067200), 2: 1(1706745600)},
      ],
      6: (0, 45),
      7: h'alice-attestation...',
      8: {
        1: 46,
        2: 12500,
        3: 800,
        4: 14400.0,
        5: 0.45
      }
    },
    {
      1: h'bob-cose-key...',
      2: 2,
      3: "Bob Jones",
      5: ({1: 1(1705276800), 2: 1(1706140800)}),
      6: (46, 82),
      7: h'bob-attestation...',
      8: {1: 37, 2: 8900, 3: 450, 4: 10800.0, 5: 0.32}
    },
    {
      1: h'carol-cose-key...',
      2: 3,
      3: "Carol Lee",
      5: ({1: 1(1706400000), 2: 1(1706745600)}),
      6: (83, 105),
      7: h'carol-attestation...',
      8: {1: 23, 2: 5200, 3: 200, 4: 7200.0, 5: 0.23}
    }
  ],
  3: [
    {1: 1, 2: h'alice-key...', 4: "Introduction, Methods"},
    {1: 4, 2: h'bob-key...', 4: "Results, Data Analysis"},
    {1: 5, 2: h'carol-key...', 4: "Figures and Tables"}
  ],
  4: {
    1: [
      {
        1: 1(1706659200),
        2: 100,
        3: (h'alice-key...', h'bob-key...', h'carol-key...'),
        4: 3,
        5: "Final integration of all sections"
      }
    ]
  }
}
]]></sourcecode>
    </section>

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

      <t>
        Collaborative authorship introduces additional security
        considerations beyond single-author Evidence:
      </t>

      <ul>
        <li>
          <strong>Key compromise scope:</strong> Compromise of one
          collaborator's key affects only their claimed checkpoints,
          not the entire document Evidence.
        </li>
        <li>
          <strong>Collusion attacks:</strong> Multiple collaborators
          could collude to fabricate a document history. Verifiers
          SHOULD consider the number of independent attestations.
        </li>
        <li>
          <strong>Contribution disputes:</strong> This format documents
          claims but cannot resolve disputes about who truly authored
          content. External arbitration may be needed.
        </li>
        <li>
          <strong>Replay of attestations:</strong> Attestations are
          bound to specific packet-ids to prevent reuse across documents.
        </li>
      </ul>

      <t>
        Collaborator attestations use COSE signatures as defined in
        <xref target="RFC9052"/>. Full security considerations for the
        Proof of Process format are specified in
        <xref target="I-D.condrey-rats-pop"/>.
      </t>
    </section>

    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>
        This document has no IANA actions. The collaboration section
        uses key 22 as defined in the main architecture document.
      </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 fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
        </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 fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
        </reference>

        <reference anchor="RFC9052" target="https://www.rfc-editor.org/info/rfc9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
        </reference>
      </references>

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

        <reference anchor="I-D.condrey-rats-pop">
          <front>
            <title>Proof of Process: An Evidence Framework for Digital Authorship Attestation</title>
            <author fullname="David Condrey" initials="D." surname="Condrey"/>
            <date/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-condrey-rats-pop-00"/>
        </reference>
      </references>
    </references>
  </back>
</rfc>
