<?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.6.10 (Ruby 3.0.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lukianets-open-ethics-transparency-protocol-01" category="exp" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.7 -->
  <front>
    <title abbrev="OETP">Open Ethics Transparency Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-lukianets-open-ethics-transparency-protocol-01"/>
    <author initials="N." surname="Lukianets" fullname="Nikita Lukainets">
      <organization>Open Ethics</organization>
      <address>
        <email>n.lukianets@openethics.ai</email>
      </address>
    </author>
    <date year="2022" month="May" day="22"/>
    <area>General</area>
    <workgroup>dispatch</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The Open Ethics Transparency Protocol (OETP) is an application-level protocol for publishing and accessing ethical Disclosures of IT Products and their Components. The Protocol is based on HTTP exchange of information about the ethical "postures", provided in an open and standardized format. The scope of the Protocol covers Disclosures for systems such as Software as a Service (SaaS) Applications, Software Applications, Software Components, Application Programming Interfaces (API), Automated Decision-Making (ADM) systems, and systems using Artificial Intelligence (AI). OETP aims to bring more transparent, predictable, and safe environments for the end-users. The OETP Disclosure Format is an extensible JSON-based format.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The Open Ethics Transparency Protocol (OETP or Protocol) describes the creation and exchange of voluntary ethics Disclosures for IT products. It is brought as a solution to increase the transparency of how IT products are built and deployed. This document provides details on how disclosures for data collection and data processing practice are formed, stored, validated, and exchanged in a standardized and open format.</t>
      <t>OETP provides facilities for:</t>
      <ul spacing="normal">
        <li>
          <strong>Informed consumer choices</strong> : End-users able to make informed choices based on their own ethical preferences and product disclosure.</li>
        <li>
          <strong>Industrial-scale monitoring</strong> : Discovery of best and worst practices within market verticals, technology stacks, and product value offerings.</li>
        <li>
          <strong>Legally-agnostic guidelines</strong> : Suggestions for developers and product-owners, formulated in factual language, which are legally-agnostic and could be easily transformed into product requirements and safeguards.</li>
        <li>
          <strong>Iterative improvement</strong> : Digital products, specifically, the ones powered by artificial intelligence could receive nearly real-time feedback on how their performance and ethical posture could be improved to cover security, privacy, diversity, fairness, power balance, non-discrimination, and other requirements.</li>
        <li>
          <strong>Labeling and certification</strong> : Mapping to existing and future regulatory initiatives and standards.</li>
      </ul>
      <t>The Open Ethics Transparency Protocol (OETP) is an application-level protocol for publishing and accessing ethical Disclosures of IT products and their components. The Protocol is based on HTTP exchange of information about the ethical "postures", provided in an open and standardized format. The scope of the Protocol covers Disclosures for systems such as Software as a Service (SaaS) Applications, Software Applications, Software Components, Application Programming Interfaces (API), Automated Decision-Making (ADM) systems, and systems using Artificial Intelligence (AI). OETP aims to bring more transparent, predictable, and safe environments for the end-users. The OETP Disclosure Format is an extensible JSON-based format.</t>
    </section>
    <section anchor="requirement-levels">
      <name>Requirement Levels</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>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <dl>
        <dt>Disclosure:</dt>
        <dd>
          <t>Disclosure (Ethics Disclosure, or self-disclosure) is application-specific information about the data collection, data processing, and decision-making practices of a Product, provided by the Product Vendor (an individual developer or an organization).</t>
        </dd>
        <dt>Disclosure Feed:</dt>
        <dd>
          <t>A historical sequence of Disclosures, made for a specific Product.</t>
        </dd>
        <dt>Vendor:</dt>
        <dd>
          <t>A legal person (an individual developer or an organization) that owns one or several end-user Products, or acts as a Supplier and provides Components for other Vendors.</t>
        </dd>
        <dt>Integrator:</dt>
        <dd>
          <t>A legal person (an individual developer or an organization) that deploys technology-powered services to the end-users based on Product(s) from third-party Vendors.</t>
        </dd>
        <dt>Product:</dt>
        <dd>
          <t>An IT system in the form of software, software as a service system, application, software component, application programming interface, or a physically embodied automated decision-making agent.</t>
        </dd>
        <dt>Component:</dt>
        <dd>
          <t>An IT system supplied by Vendor and integrated/embedded into end-user Products. Components themselves do not necessarily interface with end-users.</t>
        </dd>
        <dt>Upstream Component:</dt>
        <dd>
          <t>A Component that sends its outputs to the Product Downstream in the data processing chain. Disclosure for the Upstream Component is represented as a Child relative to the Disclosure node of the Downstream Product.</t>
        </dd>
        <dt>Downstream Component:</dt>
        <dd>
          <t>A Component that receives inputs from the Components Upstream in the data processing chain. Disclosure for the Downstream Component is represented as a Parent relative to the Disclosure node of the Upstream Component.</t>
        </dd>
        <dt>Automated Decision-Making (ADM):</dt>
        <dd>
          <t>Automated decision-making is the process of making a decision by automated means without any human involvement. These decisions can be based on factual data, as well as on digitally created profiles or inferred data.</t>
        </dd>
        <dt>OETP Disclosure Format:</dt>
        <dd>
          <t>A machine-readable Disclosure with predefined structure, supplied in the JSON format.</t>
        </dd>
        <dt>Validation:</dt>
        <dd>
          <t>A sequence of automated software-based checks to control validity and security elements in the OETP Disclosure.</t>
        </dd>
        <dt>Auditor:</dt>
        <dd>
          <t>A third-party legal person trusted to perform Verification checks and to issue Verification Proofs.</t>
        </dd>
        <dt>Auditing software:</dt>
        <dd>
          <t>An automated software-based tool authorized to perform Verification checks and to issue Verification Proofs.</t>
        </dd>
        <dt>Verification:</dt>
        <dd>
          <t>A procedure to control the correspondence of the elements in the OETP Disclosure and the actual data processing and data collection practices of the Vendors.</t>
        </dd>
        <dt>Verification Proof:</dt>
        <dd>
          <t>A result of the formal Disclosure Verification procedure presented to a requestor.</t>
        </dd>
        <dt>Chaining:</dt>
        <dd>
          <t>A process of combining Disclosures of individual Components into a composite high-level Disclosure for a Product.</t>
        </dd>
        <dt>Label:</dt>
        <dd>
          <t>User-facing graphical illustrations and textual descriptions of the Product that facilitate understanding of the values and risks the Product carries.</t>
        </dd>
      </dl>
    </section>
    <section anchor="protocol-model">
      <name>Protocol Model</name>
      <t>The Disclosure creation and delivery consist of the two parts, starting from (I) the submission of the Disclosure form, chaining of the Suppliers' Disclosures, Signature of the disclosed information, and the delivery part (II) that first checks that the Disclosure is Valid, and then that the information specified in it is Verified by the third-parties. <xref target="_figure-disclosure-creation"/> shows disclosure creation steps.</t>
      <!-- <img src="../diagrams/images/disclosure-creation/disclosure-creation.svg" alt="Creation of the Disclosure"> -->

<section anchor="creation-of-disclosure">
        <name>Creation of Disclosure</name>
        <t>The initial Disclosure is created by filling out a standardized disclosure form (for example, see 1. <eref target="https://openethics.ai/label/">https://openethics.ai/label/</eref>). A Vendor representative, a Product Owner, or a Developer, <bcp14>MUST</bcp14> submit data-processing and data-collection information about the Product. The information about the end-point URL, as well as a contact email address, <bcp14>MUST</bcp14> be specified. Disclosure <bcp14>MAY</bcp14> also be created in a fully automated way as a part of the CI/CD DevOps pipeline. <xref target="_figure-disclosure-submission-basic"/> shows basic disclosure submission process.</t>
        <!-- <img src="../diagrams/images/disclosure-submission-basic/disclosure-submission-basic.svg" alt="Basic Disclosure Submission"> -->

<section anchor="cryptographic-signature">
          <name>Cryptographic Signature</name>
          <t>The Disclosure is organized into a predefined data schema and <bcp14>MUST</bcp14> be cryptographically signed by the Signature Generator (Open Ethics or federated providers) using standard SHA3-512 hash implementation. The integrity hash <bcp14>MUST</bcp14> be appended to a disclosure as the <tt>OETP.schema.integrity</tt> element.</t>
        </section>
        <section anchor="immutable-storage">
          <name>Immutable Storage</name>
          <t>Both the signature integrity hash and the Disclosure <bcp14>SHOULD</bcp14> be stored in the log-centric root database and <bcp14>MAY</bcp14> be mirrored by other distributed databases for redundancy and safety.</t>
        </section>
        <section anchor="visual-labeling">
          <name>Visual Labeling</name>
          <t>Open Ethics Label <bcp14>SHOULD</bcp14> be automatically generated by mirroring the submitted Disclosure into a set of graphical icons and simple human-readable descriptions. Additional Labels <bcp14>MAY</bcp14> be generated following successful third-party Verification and by mapping the regulatory requirements to Verified Disclosures.</t>
        </section>
      </section>
      <section anchor="access-to-disclosure">
        <name>Access to Disclosure</name>
        <section anchor="initial-request-to-a-disclosure-file">
          <name>Initial Request to a Disclosure file</name>
          <t>The most recent OETP file <bcp14>SHOULD</bcp14> be stored in the root of the Product's specified end-point URL, allowing requests to the OETP file from third-party domains. When establishing a Vendor relationship, the Integrator or a downstream Vendor <bcp14>MAY</bcp14> examine the Disclosure for their Components using the following HTTP request: <tt>GET https://testexample.com/oetp.json</tt>, where <em>testexample.com</em> is the URL of the Supplier's end-point.</t>
        </section>
        <section anchor="access-to-visual-trust-labels">
          <name>Access to Visual Trust Labels</name>
          <t>A Vendor <bcp14>SHOULD</bcp14> place a visual Label generated as a result of the Disclosure process in the Product informational materials (for example Marketing Materials, User Guides, Safety Instructions, Privacy Policy, Terms of Service, etc). The Label reflects the content of the Disclosure and <bcp14>SHOULD</bcp14> be displayed in any digital media by embedding a software widget. Visual labels in the print media <bcp14>SHOULD</bcp14> carry a visually distinguishable Integrity signature to enable manual Validation by the User.</t>
        </section>
        <section anchor="requirements-for-placement-of-integrity-signature-in-visual-label">
          <name>Requirements for placement of Integrity Signature in Visual Label</name>
          <ul spacing="normal">
            <li>
              <strong>Labels in the online digital media</strong> <bcp14>MUST</bcp14> be generated automatically based on the content of the Disclosure and <bcp14>MUST</bcp14> contain a URL allowing to check the complete Integrity hash and explore more detailed information about the Disclosure.</li>
            <li>
              <strong>Labels in the offline media</strong> <bcp14>MUST</bcp14> be generated automatically based on the content of the Disclosure and should carry the first 10 digits of the corresponding Integrity hash.</li>
          </ul>
        </section>
        <section anchor="conformity-assessment-marks">
          <name>Conformity assessment marks</name>
          <t>Based on the Verification performed for the OETP Disclosure file, the labels <bcp14>MAY</bcp14> include Conformity assessment marks, Certification marks, as well as marks showing adherence to certain standards. These marks <bcp14>MAY</bcp14> be generated and displayed automatically based on the Verification Proofs.</t>
        </section>
        <section anchor="accessibility-considerations">
          <name>Accessibility considerations</name>
          <t>Accessibility of the Labels for the visually impaired Users <bcp14>SHOULD</bcp14> be considered. The OETP Processing system <bcp14>MUST</bcp14> provide alternative forms of the Label so that text-to-speech tools could be used to narrate the Label.</t>
        </section>
      </section>
      <section anchor="verification-and-validation-of-disclosure">
        <name>Verification and Validation of Disclosure</name>
        <section anchor="automated-disclosure-processing">
          <name>Automated Disclosure processing</name>
          <t>The automated Disclosure processing is enabled by requests to both the Open Ethics Disclosure database powered by Disclosure Identity Providers and the Product's OETP Disclosure file.</t>
        </section>
        <section anchor="validation-of-vendor39s-disclosures">
          <name>Validation of Vendor's Disclosures</name>
          <t>The OETP Processing system <bcp14>MUST</bcp14> compare integrity hashes in the Open Ethics Disclosure database and entries that arrive as a result of the Disclosure Request response.</t>
        </section>
        <section anchor="verification-of-vendor39s-disclosures">
          <name>Verification of Vendor's Disclosures</name>
          <t>Every disclosure <bcp14>SHOULD</bcp14> be checked for the existence of the external Verification from Auditors for the entire Disclosures or one of the Disclosure elements.</t>
        </section>
        <section anchor="progressive-verification">
          <name>Progressive Verification</name>
          <t>To raise a level of trust in a Disclosure, a Vendor <bcp14>MAY</bcp14> decide to opt-in for a third-party Disclosure Verification. OETP suggests a Progressive Verification scheme where multiple independent external Verification Proofs COULD be issued by third parties to confirm the information specified in the Disclosure.</t>
          <t>The Progressive Verification applies to a whole Disclosure, or to specific elements of the Disclosure.</t>
          <t><xref target="_figure-disclosure-progressive-verification"/> displays a general scheme for Disclosure requests and responses.</t>
          <!-- <img src="../diagrams/images/disclosure-progressive-verification/disclosure-progressive-verification.svg" style="float: left; margin-right: 10px;" alt="Progressive Verification Scheme for Disclosures" /> -->

<t>The following elements <bcp14>MAY</bcp14> serve as sources for various kinds of Verification proofs:
* Qualified Auditor reports
* Qualified Vendor of Auditing software tests
* Certification Authority assessments
* Conformity assessments
* User Feedback
* Market Brokers
* Real-time Loggers</t>
        </section>
      </section>
      <section anchor="end-to-end-transparency-and-formation-of-the-composite-disclosure">
        <name>End-to-end transparency and formation of the composite Disclosure</name>
        <t>The IT industry is getting more mature with Vendors becoming more specialized. Surface-level transparency is not sufficient as supply chains are becoming more complex and distributed across various Components. The following steps <bcp14>MUST</bcp14> be satisfied for the end-to-end transparency:</t>
        <section anchor="open-supplier-policy">
          <name>Open Supplier Policy</name>
          <t>Every Integrator or a Vendor <bcp14>SHOULD</bcp14> disclose the information about their Suppliers (sub-processing Vendors), indicating the scope of the data processing in the Components they provide.</t>
          <t>If the Supplier information is not provided, Disclosure <bcp14>SHOULD</bcp14> contain information that a Vendor (Integrator) has not provided Supplier information.</t>
          <section anchor="first-party-components">
            <name>First-party Components</name>
            <t>For greater transparency, Vendors may decide to reveal Components even if they originate from themselves (first-party Components). For the first-party Component, the Supplier identity information <bcp14>SHOULD NOT</bcp14> be provided because it was already disclosed earlier.</t>
            <t>Required: (<xref target="component-information"/>) only</t>
          </section>
          <section anchor="third-party-components">
            <name>Third-party Components</name>
            <t>When disclosing Components originating from the third-party Vendors <bcp14>SHOULD</bcp14> provide both the Supplier identity information and Component information</t>
            <t>Required: (<xref target="supplier-identity"/>, <xref target="component-information"/>)</t>
          </section>
          <section anchor="elements-of-supplier-disclosure">
            <name>Elements of Supplier disclosure</name>
            <section anchor="supplier-identity">
              <name>Supplier identity</name>
              <ul spacing="normal">
                <li>Vendor Name</li>
                <li>Vendor URL</li>
                <li>Vendor ID</li>
                <li>Vendor DPO Contact Email</li>
              </ul>
            </section>
            <section anchor="component-information">
              <name>Component information</name>
              <ul spacing="normal">
                <li>Component Scope of use</li>
                <li>Personal Data Being Processed by Component</li>
                <li>Is a Safety Component (YES)/(NO)</li>
                <li>Component URL (if different from the Vendor URL)</li>
                <li>Component Disclosure URL (if different from the default <tt>Component URL/oetp.json</tt>)</li>
                <li>Component DPO Contact (if different from Vendor DPO Contact Email)</li>
              </ul>
            </section>
          </section>
        </section>
        <section anchor="request-for-supplier39s-disclosures">
          <name>Request for Supplier's Disclosures</name>
          <t>The OETP Processing system <bcp14>MUST</bcp14> send GET requests to the URLs of each Component to obtain their Disclosures. Based on the response to each Disclosure request, the OETP Processing system <bcp14>MUST</bcp14> specify which Components have Disclosures and which don't have Disclosures.</t>
          <t><xref target="_figure-disclosure-chaining-request"/> shows the process of how Disclosure Chaining requests and responses happen.</t>
          <!-- <img src="../diagrams/images/disclosure-chaining-request/disclosure-chaining-request.svg" alt="Disclosure Chaining: Request-Response"> -->

</section>
        <section anchor="disclosure-chaining">
          <name>Disclosure Chaining</name>
          <t>The same Request-response operation applies recursively for Components of the Components, for the Components of the Components of the Components, etc. It is proposed to view the supply chain as a tree-like hierarchical data structure, where the information about Components is assembled using Level Order Tree Traversal algorithm.</t>
          <t>In this tree:
* Node is a structure that contains the Component's Disclosure;
* Root is the top Node representing a Product's Disclosure information;
* Edge is the connection between one Node and another, representing the scope of the Data Processing by the Component.</t>
          <t><xref target="_figure-disclosure-chaining-tree"/> displays the order of the Disclosure Chaining with Level Order Tree Traversal algorithm.</t>
          <!-- <img src="../diagrams/images/disclosure-chaining-tree/disclosure-chaining-tree.svg" alt="Disclosure Chaining: Level Order Traversal"> -->

</section>
        <section anchor="generation-of-the-composite-disclosure">
          <name>Generation of the Composite Disclosure</name>
          <t>The current consensus from the user &amp; developer community suggests that Composite Disclosure should follow The "Weakest Link" model. According to this model, the risk that the Product is carrying should not be considered any less than the risk for each of the Components. A similar approach in dealing with software licenses has been successful by allowing to generate Software Bills of Materials (SBOMs) by providing package information in the <xref target="SPDX"/> files.</t>
          <t>Formally this approach could be illustrated with the use of a conjunction table for risk modeling (see <xref target="conjunction-table-risk-modeling"/>). The Truth Table for Logical AND operator below takes one risk factor and evaluates risk outcomes as High (H) or Low (L) for hypothetical Disclosure options of the Product(P) and its Component(C).</t>
          <table anchor="conjunction-table-risk-modeling">
            <name>Conjunction Table for Risk Modeling</name>
            <thead>
              <tr>
                <th align="center">Disclosed risk of P</th>
                <th align="center">Disclosed risk of  C</th>
                <th align="center">Composite P &amp; C</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">L</td>
                <td align="center">L</td>
                <td align="center">
                  <strong>L</strong></td>
              </tr>
              <tr>
                <td align="center">L</td>
                <td align="center">H</td>
                <td align="center">
                  <strong>H</strong></td>
              </tr>
              <tr>
                <td align="center">H</td>
                <td align="center">L</td>
                <td align="center">
                  <strong>H</strong></td>
              </tr>
              <tr>
                <td align="center">H</td>
                <td align="center">H</td>
                <td align="center">
                  <strong>H</strong></td>
              </tr>
            </tbody>
          </table>
          <t>Further evaluation of this approach is required.</t>
        </section>
      </section>
    </section>
    <section anchor="example-oetp-disclosure-file">
      <name>Example OETP Disclosure File</name>
      <figure anchor="_figure-example-oetp-json">
        <name>Example OETP Disclosure File</name>
        <sourcecode type="JSON"><![CDATA[
{
    "schema": {
        "name": "Open Ethics Transparency Protocol",
        "version": "0.9.3 RFC",
        "integrity": "156d624b8f2dbea87128a2147f255842652475c5dc595c79f64c90c7ff486d59007c3e18c993e3163395812e26b70ea70dfc413f7ca128869d115f12e5699bf2"
    },
    "snapshot": {
        "product": {
            "url": "testexample.com",
            "description": ""
        },
        "timestamp": 1608273946,
        "generator": {
            "name": "Open Ethics",
            "alias": "oe",
            "type": "root",
            "website": "https://openethics.ai"
        },
        "label": {
            "data": {
                "type": "open",
                "practice": ""
            },
            "source": {
                "type": "open",
                "practice": ""
            },
            "decision": {
                "type": "restricted",
                "practice": ""
            }
        }
    }
}
]]></sourcecode>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="response-content">
        <name>Response content</name>
        <t>OETP exchanges data using JSON <xref target="RFC8259"/> which is a lightweight data-interchange format. A JSON-based application can be attacked in multiple ways such as sending data in an improper format or embedding attack vectors in the data. It is important for any application using JSON format to validate the inputs before being processed. To mitigate this attack type, the JSON Key Profile is provided for OETP responses.</t>
      </section>
      <section anchor="spoofing">
        <name>Spoofing</name>
        <t>OETP Processors should be aware of the potential for spoofing attacks where the attacker publishes an OETP disclosure with the <tt>OETP.snapshot</tt> value from another product, or, perhaps with an outdated <tt>OETP.snapshot.label</tt> element. For example, an OETP Processor could suppress the display of falsified entries by comparing the snapshot integrity from the submission database and a calculated hash for the <tt>OETP.snapshot</tt> object. In that situation, the OETP Processor might also take steps to determine whether the disclosures originated from the same publisher require further investigation of the Disclosure Feed and alert the downstream OETP Processors.</t>
      </section>
      <section anchor="falsification">
        <name>Falsification</name>
        <t>Dishonest or falsified Disclosures is a problem that is hard to address generally. The approach to it is public control and systematic checks. Vendors or user-facing applications and services could further raise the level of trust in their Disclosures by implementing programmatic control scoring mechanisms, as well as the external verification by trusted Auditors.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="areas-for-future-study">
      <name>Areas for Future Study</name>
      <t>The following topics not addressed in this version of the document are possible areas for the future study:</t>
      <ul spacing="normal">
        <li>IANA requests for the Data Processor identity management.</li>
        <li>Extensibility of the OETP Disclosure Format.</li>
        <li>Evaluate other methods of Generation of the Composite Disclosure based on the Disclosure Tree</li>
        <li>Disclosure Chaining mechanisms and various use-cases.</li>
        <li>Typical scenarios and templates for Disclosure submissions.</li>
        <li>Mapping of the regulatory requirements and future Disclosure elements.</li>
        <li>Standardizing Privacy Disclosure and PII data-collection practices.</li>
        <li>Enhancing Label accessibility with ARIA W3C Recommendation and other approaches</li>
        <li>Use of the OETP Disclosure in the ADM explainability (XAI).</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </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="SPDX" target="https://spdx.dev/">
          <front>
            <title>SPDX Specification – Version 2.2</title>
            <author>
              <organization>The Linux Foundation</organization>
            </author>
            <date year="2020"/>
          </front>
          <format type="PDF" target="https://spdx.dev/wp-content/uploads/sites/41/2020/08/SPDX-specification-2-2.pdf"/>
          <format type="HTML" target="https://spdx.github.io/spdx-spec/"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
      </references>
    </references>
    <section anchor="appendix">
      <name>Appendix</name>
      <section anchor="figures">
        <name>Figures</name>
        <t>Diagrams could be built from code using the below <tt>*.puml</tt> files automatically using <eref target="https://plantuml.com/">PlantUML</eref>.</t>
        <section anchor="creation-of-disclosure-1">
          <name>Creation of Disclosure</name>
          <figure anchor="_figure-disclosure-creation">
            <name>Creation of the Disclosure</name>
            <sourcecode type="PUML"><![CDATA[
@startuml

title Disclosure Creation Process

skinparam roundCorner 15

actor "Supplier A" as SA
actor "Supplier B" as SB
actor Vendor as V

component "Component A" as CA
component "Component B" as CB
file "Disclosure A" as DA
file "Disclosure B" as DB
file "Composite Disclosure" as D

V-right->(Creation):disclose
SA-up->CA
SB-up->CB
CA-up->DA
CB-up->DB
DA-up->(Chaining)
DB-up->(Chaining)
(Creation)->(Chaining)
(Chaining)->(Validation)
(Validation)->(Verification)
(Verification)->D
@enduml
]]></sourcecode>
          </figure>
        </section>
        <section anchor="basic-disclosure-submission">
          <name>Basic Disclosure Submission</name>
          <figure anchor="_figure-disclosure-submission-basic">
            <name>Basic Disclosure Submission</name>
            <sourcecode type="PUML"><![CDATA[
@startuml
title Basic Disclosure Submission

skinparam roundCorner 15
autonumber

actor Vendor
database "Disclosure Identity Provider" as ID
control "Signature Generator" as SIG
database "Federated Identity Provider" as DIS

Vendor -> ID: Request with Disclosure payload
ID -> ID: Validate input
ID -> SIG: Structured Data, Initialized

ID <-- SIG: SHA3-512 integrity hash
    group Distributed Identity Storage
DIS <-- SIG: SHA3-512 integrity hash
end
ID -> ID: Log OETP file and a corresponding intgrity hash
Vendor <-- ID: OETP Disclosure File
@enduml
]]></sourcecode>
          </figure>
        </section>
        <section anchor="progressive-verification-scheme-for-disclosures">
          <name>Progressive Verification Scheme for Disclosures</name>
          <figure anchor="_figure-disclosure-progressive-verification">
            <name>Progressive Verification Scheme for Disclosures</name>
            <sourcecode type="PUML"><![CDATA[
@startuml

title Progressive Verification with multiple Auditors

skinparam roundCorner 15
autonumber
actor User
User -> Vendor: Disclosure Request
User <-- Vendor: OETP Disclosure File

database "Disclosure Identity Provider" as ID

User -> ID: Disclosure Validation and Verification Request

group Progressive Disclosure Verification
    ID -> ID: Retrieve and Compare Disclosure Integrity
    ID -> "Auditor 1": Disclosure Verification Request
    ID <-- "Auditor 1": Verification Proof 1
    ID -> "Auditor N": Disclosure Verification Request
    ID <-- "Auditor N": Verification Proof N
end

User <-- ID: Verification response

User -> Vendor: Service Request
User <-- Vendor: Service Response
@enduml
]]></sourcecode>
          </figure>
        </section>
        <section anchor="disclosure-chaining-request-response">
          <name>Disclosure Chaining: Request-Response</name>
          <figure anchor="_figure-disclosure-chaining-request">
            <name>Disclosure Chaining: Request-Response</name>
            <sourcecode type="PUML"><![CDATA[
@startuml
title Disclosure Chaining: Request-Response


start
repeat
  :Request Component's Disclosure;
    if (Disclosure Obtained?) then (yes)
      :Validate Disclosure;
      :Verify Disclosure;
      :Chain Disclosure;
      :Obtain list of Child Components;
      if (Supplier information exists?) then (yes)
        :Update Tree with (yet)
        Unchained Disclosures;
      else (no)
        #Gold:**Alert** "Vendor has not provided
        Supplier information";
      endif
    else (no)
      #pink:**Alert** "Vendor has not provided
      any Disclosure";
      stop
    endif
repeat while (Unchained Disclosures in the Disclosure Tree?) is (yes) not (no)
:**Generate**
Composite Disclosure;
#palegreen:**Display** Label for "Composite Disclosure";
stop

@enduml
]]></sourcecode>
          </figure>
        </section>
        <section anchor="disclosure-chaining-level-order-traversal">
          <name>Disclosure Chaining: Level Order Traversal</name>
          <figure anchor="_figure-disclosure-chaining-tree">
            <name>Disclosure Chaining: Level Order Traversal</name>
            <sourcecode type="PUML"><![CDATA[
@startmindmap
title Disclosure Chaining: Level Order Traversal

skinparam roundCorner 15
* Root (Product)
        * 1 (Component)
                * 3 (Component)
                        * 7 (Component)
                * 4 (Component)
        * 2 (Component)
                * 5 (Component)
                        * 8 (Component)
                        * 9 (Component)
                * 6 (Component)
@endmindmap
]]></sourcecode>
          </figure>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Part of this work related to Verification and Validation of Disclosure and Disclosure Chaining was supported by the H2020 Programme of the European Commission under Article 15 of Grant Agreement No. 951972 StandICT.eu 2023</t>
      <t>The Open Ethics community and expert volunteers contributed with their valuable feedback, discussions, and comments. Thank you Ashley Duque Kienzle, Angela Kim, Ioannis Zempekakis, Karl Muedespacher, Ida Varosanec, Claudia Del Pozo, Joerg Buss, Mariia Kriuchok, Minhaaj Rehman, Oleksii Molchanovskyi, Roberta Barone, Phil Volkofsky and others.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
YezpvwFSB3pTLWUAAA==

-->

</rfc>
