Skip to main content

SDLP RFC 3: Transformation and Lineage Rules
draft-norton-sdlp-obj-format-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Author Mark Norton
Last updated 2026-07-01
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-norton-sdlp-obj-format-00
Internet-Draft                                                 M. Norton
Intended status: Informational                               Independent
Expires: 28 December 2026                                   28 June 2026

                 SDLP RFC 3: Transformation and Lineage Rules
                 draft-norton-sdlp-obj-format-00

M. Norton
Individual Submission
28 June 2026

This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other groups
may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at
https://www.ietf.org/1id-abstracts.html

The list of Internet-Draft Shadow Directories can be accessed at
https://www.ietf.org/shadow.html

Abstract

   This document defines the transformation rules and lineage guarantees
   for the Secured Digital Lifecycle Protocol (SDLP). Transformations
   represent any modification, duplication, conversion, or derivative
   operation performed on an SDLP object. All transformations MUST
   produce descendant identities, extend lineage, preserve ancestry, and
   maintain tamper-evident integrity. This document defines the
   transformation model, lineage structure, invariants, and security
   requirements that govern all SDLP transformations, including updated
   lifecycle semantics introduced in this revision.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF). It represents the consensus of the IETF community. It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG). Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at the RFC Editor
   website.

Copyright Notice

   Copyright (c) 2026 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

1.  Introduction

   Transformation is a core concept in the Secured Digital Lifecycle
   Protocol (SDLP). A transformation represents any operation that
   produces a new version, derivative, or materialization of an SDLP
   object. All transformations MUST produce a descendant DigitalID,
   extend lineage, and maintain tamper-evident integrity.

   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, RFC 2119 and RFC 8174 when, and only when, they appear in all
   capitals, as shown here.

   This revision incorporates updated lifecycle semantics introduced in
   SDLP RFC 2, including the Embryo, Active, Restricted, SafeMode,
   Hospice, Decayed, and Bit-Drop states. These lifecycle states define
   the conditions under which transformations may occur, the security
   posture of the object during transformation, and the mandatory
   transition rules that govern descendant creation.

   This document defines:

   *  the SDLP transformation model
   *  the rules governing descendant identity creation
   *  lineage structure and inheritance
   *  transformation invariants
   *  transformation types
   *  transformation logging requirements
   *  security properties associated with transformations

   This specification builds upon SDLP RFC 1 (DigitalID Specification)
   and SDLP RFC 2 (Lifecycle State Machine).

2.  Transformation Overview

   A transformation is any operation that results in a new SDLP object
   derived from an existing one. Transformations include, but are not
   limited to:

   *  duplication
   *  format conversion
   *  editing or modification
   *  extraction or embedding
   *  export or import
   *  derivative creation
   *  structural or metadata changes

   Transformations MAY occur only when permitted by the object's current
   lifecycle state. Certain states (e.g., SafeMode, Hospice, Decayed)
   impose additional restrictions or mandatory behaviors that affect
   whether a transformation is allowed, deferred, or prohibited.

   All transformations MUST:

   *  generate a descendant DigitalID
   *  extend the lineage chain
   *  produce a new canonical bitdump
   *  apply a new seal
   *  record the transformation event

3.  Lineage Model

   Lineage represents the genealogical chain of an SDLP object. Each
   transformation extends the lineage by appending a new component.

   Example lineage progression:

      1
      1.1
      1.1.1
      1.2
      1.2.1
      1.2.1.1

   Lineage MUST be:

   *  strictly hierarchical
   *  append-only
   *  tamper-evident
   *  cryptographically verifiable

   Each lineage component represents a single transformation event.
   Descendant objects inherit the full lineage of their ancestors,
   forming a complete genealogical chain from the original creation
   event to the present state. Lineage persists across all lifecycle
   states, including SafeMode, Restricted, Hospice, Decayed, and
   Bit-Drop, ensuring that ancestry remains intact even when an object
   transitions into terminal or destructive states.

4.  Transformation Types

   SDLP defines several classes of transformations. Each class has
   distinct rules governing identity, lineage, and output structure.
   Transformation classes include:

   *  Representational Transformations
   *  Structural Transformations
   *  Derivative Transformations
   *  Instance-Level Transformations
   *  Lifecycle-Driven Transformations

   Representational transformations modify the encoding or format of an
   object without altering its semantic content. Structural
   transformations modify the internal organization or composition of an
   object. Derivative transformations produce new objects whose content
   is derived from, but not identical to, the parent. Instance-level
   transformations operate on materializations of an object rather than
   the object itself. Lifecycle-driven transformations correspond to
   state transitions defined in SDLP RFC 2, including transitions into
   SafeMode, Hospice, Decayed, and Bit-Drop when triggered by policy,
   tamper events, or end-of-life conditions.

5.  Transformation Invariants

   All SDLP transformations MUST satisfy the following invariants:

   *  I1. Deterministic Output -- Given identical inputs, a
      transformation MUST produce identical outputs.

   *  I2. Lineage Preservation -- A transformation MUST append a
      lineage entry and MUST NOT remove or alter existing lineage.

   *  I3. Identity Rules -- A transformation MUST follow the identity
      rules defined in SDLP RFC 1 when determining whether a new
      DigitalID is created.

   *  I4. Canonical Bitdump -- Every transformation MUST produce a
      new canonical bitdump representing the transformed object.

   *  I5. Sealing Requirement -- Every transformation MUST apply a
      new seal binding the output to its lineage entry.

   These invariants ensure that SDLP transformations remain
   predictable, verifiable, and tamper-evident across all
   implementations. They apply uniformly across all lifecycle states
   except Bit-Drop, which represents irreversible terminal destruction
   and therefore does not produce further transformations or lineage
   extensions.

6.  Transformation Logging Requirements

   Every transformation MUST generate a transformation log entry. This
   entry binds the transformation event to the resulting object and
   provides the information necessary to verify lineage, identity, and
   integrity.

   A transformation log entry MUST include:

   *  the parent DigitalID
   *  the parent InstanceID (if applicable)
   *  the transformation type
   *  the timestamp of the transformation
   *  the actor identity
   *  the canonical bitdump hash of the output
   *  the seal applied to the output
   *  the resulting DigitalID
   *  the resulting InstanceID (if applicable)

   Transformation logs MUST be:

   *  append-only
   *  cryptographically verifiable
   *  bound to the output seal
   *  immutable once recorded

   Implementations MAY store transformation logs locally, remotely, or
   in distributed systems, but the log format and verification semantics
   MUST remain consistent across all implementations. Logs MUST remain
   available for verification throughout the object's lifecycle,
   including during SafeMode, Restricted, Hospice, and Decayed states.
   Bit-Drop represents terminal destruction and therefore does not
   generate additional log entries.

7.  Security Considerations

   Transformations introduce several security risks that SDLP MUST
   mitigate. These include:

   *  unauthorized transformations
   *  lineage forgery
   *  identity spoofing
   *  tampering with transformation logs
   *  replaying old transformations
   *  producing malformed or ambiguous outputs

   All transformations MUST be authenticated and authorized. Actors MUST
   be uniquely identifiable. Transformation logs MUST be sealed and
   cryptographically bound to both the input and output objects.

   Lineage verification MUST detect:

   *  missing lineage entries
   *  altered lineage entries
   *  invalid transformation types
   *  mismatched seals
   *  broken ancestry chains

   Implementations MUST reject any object whose lineage cannot be fully
   validated. Objects entering SafeMode due to integrity failures MUST
   undergo full lineage verification before any further transformations
   are permitted. Objects in Hospice or Decayed states MUST NOT undergo
   additional transformations except the mandatory transition to
   Bit-Drop.

8.  IANA Considerations

   This document makes no requests of IANA.

Appendix A.  Transformation Examples

   A.1.  Format Conversion

      A PDF converted to EPUB produces a new DigitalID. The lineage
      entry records the parent object, the conversion type, and the
      resulting canonical bitdump.

   A.2.  Duplication

      A duplication event produces a new InstanceID but does not
      create a new DigitalID. The lineage entry records a COPY
      transformation.

   A.3.  Packaging

      Packaging multiple objects into a container produces a new
      parent object whose lineage entry lists all child DigitalIDs.

   A.4.  Derivative Creation

      A derivative work (e.g., edited audio, cropped image, excerpted
      text) produces a new DigitalID. The lineage entry MUST specify
      the derivative transformation type.

Author's Address

   M. Norton
   Email: mark433norton@gmail.com