<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lukianets-open-ethics-transparency-protocol-04" category="exp" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="OETP">Open Ethics Transparency Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-lukianets-open-ethics-transparency-protocol-04"/>
    <author initials="N." surname="Lukianets" fullname="Nikita Lukainets">
      <organization>Open Ethics Initiative</organization>
      <address>
        <email>n.lukianets@openethics.ai</email>
      </address>
    </author>
    <date year="2023" month="November" day="15"/>
    <area>General</area>
    <workgroup>dispatch</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 46?>

<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>
    <?line 50?>

<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>
          <t><strong>Informed consumer choices</strong> : End-users able to make informed choices based on their own ethical preferences and product disclosure.</t>
        </li>
        <li>
          <t><strong>Industrial-scale monitoring</strong> : Discovery of best and worst practices within market verticals, technology stacks, and product value offerings.</t>
        </li>
        <li>
          <t><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.</t>
        </li>
        <li>
          <t><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.</t>
        </li>
        <li>
          <t><strong>Labeling and certification</strong> : Mapping to existing and future regulatory initiatives and standards.</t>
        </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>
      <?line -18?>

</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>Disclosure Identity Provider:</dt>
        <dd>
          <t>The automated Disclosure processing is enabled by requests to both the Open Ethics Disclosure database powered by Disclosure Identity Providers (DIP) and the Product's OETP Disclosure file, stored in the product's website root following OETP specification. DIP serves as a service point to generate and retrieve generated disclosures.</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>
              <t><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.</t>
            </li>
            <li>
              <t><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.</t>
            </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 without the lost of meaning.</t>
          <t>1) A Label <bcp14>MUST</bcp14> contain a title. Title could be either marked by the <tt>aria-label</tt> attribute for the narration software or be labeled by another content tag(s) present via <tt>aria-labelledby</tt> attribute, pointing to the ID(s) describing the label content.</t>
          <figure anchor="_figure-example-oel-snippet">
            <name>Example Label Snippet Content</name>
            <sourcecode type="HTML"><![CDATA[
<!-- Open Ethics Label snippet: visible content -->
<a href="https://openethics.ai/label" target="_blank">
    <div id="label" aria-label="Open Ethics Label">
        <img src="/src/images/Open Ethics logo.svg" class="oesign svg" height="30" alt="Open Ethics Logo" role="img" aria-hidden="true">
        <!-- Dynamic Content of the Open Ethics Label goes here -->
    </div>
</a>
]]></sourcecode>
          </figure>
          <t>2) Every icon that is present in the visual Label <bcp14>MUST</bcp14> contain a title, describing the property illustrated by the icon. A more extended description <bcp14>MAY</bcp14> be provided when necessary. The following patterns are suggested:</t>
          <ul spacing="normal">
            <li>
              <t>Pattern for images embedded using SVG tags: <tt>&lt;img&gt; + role="img" + alt="[title text here]"</tt> OR <tt>&lt;img&gt; + role="img" + aria-label="[title text here]"</tt></t>
            </li>
            <li>
              <t>Pattern for images embedded using IMG tags: <tt>&lt;svg&gt; + role="img" + &lt;title&gt; + &lt;desc&gt; + aria-labelledby="[ID]"</tt></t>
            </li>
          </ul>
          <figure anchor="_figure-example-oel-icon-label-source-open">
            <name>Example of the SVG icon with ARIA attributes for Accessibility</name>
            <sourcecode type="XML"><![CDATA[
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="iconOpenSourceCodeTitle iconOpenSourceCodeDescription">
<title id="iconOpenSourceCodeTitle">Algorithms and code libraries: Open Source Code</title>
<desc id="iconOpenSourceCodeDescription">This product/component has disclosed that it mainly uses the Open Source Code as a part of its codebase.</desc>
<circle cx="8" cy="8" r="7" fill="#FFFFFF" class="branding-accent" />
<path d="M10.56 4.83221C9.70667 4.08053 8.64 3.75839 7.46667 3.97315C5.44 4.18792 3.84 6.01342 3.84 8.16107V8.26845C3.84 8.37584 3.84 8.48322 3.84 8.5906C3.94666 9.98658 4.8 11.1678 6.08 11.9195C6.4 11.1678 6.61333 10.5235 6.82667 9.87919C6.18667 9.44966 5.86667 8.80537 5.86667 8.05369C5.86667 7.51678 6.08 7.08725 6.4 6.7651C7.14667 6.01342 8.21333 5.79866 9.06667 6.33557C9.81333 6.7651 10.1333 7.51678 10.1333 8.37584C10.0267 9.02013 9.70667 9.55704 9.17333 9.87919C9.38667 10.5235 9.70667 11.1678 9.92 11.9195C10.4533 11.5973 10.9867 11.1678 11.4133 10.6309C12.0533 9.77181 12.2667 8.69798 12.16 7.62416C12.0533 6.55033 11.52 5.47651 10.56 4.83221Z" fill="#333333" class="branding-main" />
<path d="M8 0C3.62667 0 0 3.54362 0 7.94631C0 12.349 3.62667 16 8 16C12.3733 16 16 12.4564 16 7.94631C16 3.43624 12.3733 0 8 0ZM9.92 12.8859C9.81333 12.8859 9.70667 12.9933 9.49333 12.8859C9.38667 12.8859 9.28 12.7785 9.17333 12.5638L8.10667 9.77181C8.10667 9.55705 8.21333 9.34228 8.42667 9.2349C8.85333 9.02013 9.06667 8.80537 9.17333 8.37584C9.17333 8.05369 9.17333 7.73154 8.96 7.51678C8.74667 7.19463 8.42667 6.97987 8.10667 6.97987C7.46667 6.97987 6.93333 7.30201 6.93333 7.94631C6.82667 8.48322 7.04 8.91275 7.57333 9.2349C7.89333 9.34228 8 9.55705 7.89333 9.87919L6.82667 12.6711C6.72 12.8859 6.61333 12.8859 6.61333 12.9933C6.61333 12.9933 6.50667 12.9933 6.4 12.9933C6.29333 12.9933 6.29333 12.9933 6.18667 12.9933C5.01333 12.5638 4.05333 11.7047 3.52 10.5235C2.98667 9.55705 2.88 8.80537 2.88 8.37584V8.26846C2.88 5.58389 4.8 3.43624 7.36 3.11409C10.1333 2.68456 12.5867 4.61745 13.12 7.30201C13.5467 9.66443 12.2667 12.0268 9.92 12.8859Z" fill="#333333" class="branding-main" />
</svg>
]]></sourcecode>
          </figure>
        </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>
          <t>To allow efficient decentralization and access to the disclosures of autonomous systems, such as AI systems powered by trained machine learning models, the vendor (or a developer) <bcp14>MUST</bcp14> send requests to a Disclosure Identity Provider. Disclosures <bcp14>MAY</bcp14> be resolved using URIs. To satisfy the mentioned requirements for disclosure RI, it is proposed in <xref target="OETP-RI"/> to use the following formats:</t>
          <ul spacing="normal">
            <li>
              <t><tt>oetp://&lt;hash&gt;</tt> - Here integrity <tt>&lt;hash&gt;</tt> is the SHA3-512 generated during the disclosure process.</t>
            </li>
            <li>
              <t><tt>oetp://&lt;component&gt;@&lt;alias&gt;[:&lt;disclosure&gt;]</tt> - Here <tt>&lt;component&gt;</tt> is the ID assigned via Disclosure Identity Provider under its <tt>&lt;alias&gt;</tt> during the first disclosure.</t>
            </li>
            <li>
              <t><tt>oetp://&lt;domain&gt;[:&lt;disclosure&gt;]</tt> - For verified domains (Domain Validation), disclosure could be accessed using product's <tt>&lt;domain&gt;</tt> instead of <tt>&lt;component&gt;@&lt;alias&gt;</tt>.)</t>
            </li>
          </ul>
        </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>
                  <t>Vendor Name</t>
                </li>
                <li>
                  <t>Vendor URL</t>
                </li>
                <li>
                  <t>Vendor ID</t>
                </li>
                <li>
                  <t>Vendor DPO Contact Email</t>
                </li>
              </ul>
            </section>
            <section anchor="component-information">
              <name>Component information</name>
              <ul spacing="normal">
                <li>
                  <t>Component Scope of use</t>
                </li>
                <li>
                  <t>Personal Data Being Processed by Component</t>
                </li>
                <li>
                  <t>Is a Safety Component (YES)/(NO)</t>
                </li>
                <li>
                  <t>Component URL (if different from the Vendor URL)</t>
                </li>
                <li>
                  <t>Component Disclosure URL (if different from the default <tt>Component URL/oetp.json</tt>)</t>
                </li>
                <li>
                  <t>Component DPO Contact (if different from Vendor DPO Contact Email)</t>
                </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>Disclosures <bcp14>MAY</bcp14> be resolved using their URIs. To allow this requirement, the <tt>oetp://</tt> URI scheme should be registered with IANA.</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>
          <t>Extensibility of the OETP Disclosure Format.</t>
        </li>
        <li>
          <t>Evaluate other methods of Generation of the Composite Disclosure based on the Disclosure Tree</t>
        </li>
        <li>
          <t>Disclosure Chaining mechanisms and various use-cases.</t>
        </li>
        <li>
          <t>Typical scenarios and templates for Disclosure submissions.</t>
        </li>
        <li>
          <t>Mapping of the regulatory requirements and future Disclosure elements.</t>
        </li>
        <li>
          <t>Standardizing Privacy Disclosure and PII data-collection practices.</t>
        </li>
        <li>
          <t>Enhancing Label accessibility with ARIA W3C Recommendation and other approaches.</t>
        </li>
        <li>
          <t>Use of the OETP Disclosure in the ADM explainability (XAI).</t>
        </li>
        <li>
          <t>Disclosure formats for families of "Generative AI" technologies such as Generative Adversarial Networks (GANs), Variational Autoencoders (VAEs), Conditional Variational Autoencoders (CVAEs), Attention Mechanisms, Transformer-based Models.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-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"/>
            <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"/>
            <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 anchor="sec-informative-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="OETP-RI" target="https://github.com/OpenEthicsAI/OETP-RI-scheme">
          <front>
            <title>Resource Identifier Scheme for OETP</title>
            <author>
              <organization>Open Ethics Initiative</organization>
            </author>
            <date year="2022"/>
          </front>
        </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"/>
            <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>
    <?line 409?>

<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 Müdespacher, Ida Varošanec, 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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
kug+mUKDIkiGkZ7/C0TNBHbXeQAA

-->

</rfc>
