<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3339 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8259 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
<!ENTITY RFC8615 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
<!ENTITY RFC8949 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml">
]>


<rfc ipr="trust200902" docName="draft-besleaga-green-sustainability-wellknown-00" category="info" submissionType="IETF">
  <front>
    <title abbrev="Sustainability Well-Known URI">The 'sustainability' Well-Known URI</title>

    <author initials="A. N." surname="Besleaga" fullname="Andrei Nicolae BESLEAGA">
      <organization>Independent</organization>
      <address>
        <email>andrei.besleaga@ieee.org</email>
      </address>
    </author>

    <date year="2026" month="March" day="15"/>

    <area>Operations and Management</area>
    <workgroup>GREEN</workgroup>
    <keyword>Internet-Draft</keyword> <keyword>Sustainability</keyword> <keyword>Carbon Accounting</keyword> <keyword>Well-Known URI</keyword> <keyword>Energy Efficiency</keyword>

    <abstract>


<?line 58?>

<t>This document defines the "sustainability" well-known URI. This URI provides a standardized, out-of-band mechanism for web servers and digital services to publish their aggregated environmental impact, energy consumption, and carbon footprint metrics.</t>

<t>By utilizing an asynchronous reporting model, this approach allows for transparent environmental accounting without the bandwidth and energy overhead associated with per-request HTTP headers.</t>



    </abstract>



  </front>

  <middle>


<?line 64?>

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

<t>The digital economy consumes a significant and growing percentage of global electricity. Emerging regulatory frameworks, such as the EU Corporate Sustainability Reporting Directive (CSRD) <xref target="EU-CSRD"/>, and industry standards like the Green Software Foundation's Software Carbon Intensity <xref target="GSF-SCI"/> and the W3C Web Sustainability Guidelines <xref target="W3C-WSG"/>, increasingly require organizations to disclose the environmental impact of their digital services.</t>

<t>These transparency efforts directly align with the 2030 Agenda for Sustainable Development adopted by the United Nations <xref target="UN-SDG"/>, specifically supporting Target 7.3 (doubling the global rate of improvement in energy efficiency), Target 9.4 (upgrading infrastructure to make them sustainable), and Target 12.6 (encouraging companies to integrate sustainability information into their reporting cycles).</t>

<t>While initial proposals for carbon transparency focused on per-request HTTP headers, such methods introduce a "rebound effect" where the metadata itself increases the carbon footprint of the transaction. Additionally, caching and TTFB (Time-To-First-Byte) performance are negatively impacted by dynamic carbon header generation.</t>

<t>This document leverages <xref target="RFC8615"/> to define a <spanx style="verb">/.well-known/sustainability</spanx> URI, allowing servers to publish periodic, aggregated environmental metrics out-of-band.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
</section>
<section anchor="the-sustainability-well-known-uri"><name>The "sustainability" Well-Known URI</name>

<section anchor="uri-definition"><name>URI Definition</name>

<t>The URI suffix "sustainability" is registered in the Well-Known URI Registry. A client requests sustainability metrics by issuing an HTTP GET request to <spanx style="verb">/.well-known/sustainability</spanx>.</t>

</section>
<section anchor="query-parameters"><name>Query Parameters</name>

<t>To maintain a flat namespace within <spanx style="verb">.well-known</spanx>, servers SHOULD support optional query parameters for granularity:</t>

<t><list style="symbols">
  <t><strong>target</strong>: Specifies the resource path (e.g., <spanx style="verb">?target=/api/v1/search</spanx>).</t>
  <t><strong>period</strong>: Specifies the timeframe using <xref target="RFC3339"/> formats:
  <list style="symbols">
      <t>Yearly: <spanx style="verb">YYYY</spanx></t>
      <t>Monthly: <spanx style="verb">YYYY-MM</spanx></t>
      <t>Daily: <spanx style="verb">YYYY-MM-DD</spanx></t>
    </list></t>
</list></t>

<t>If no parameters are provided, the server SHOULD return the most recently completed reporting period (e.g., the previous month or the previous day), or a default aggregate defined by the server's policy.</t>

<t>Alternatively, servers MAY support start and end query parameters to define a custom bounded timeframe, using complete <xref target="RFC3339"/> date-time strings.</t>

</section>
<section anchor="payload-format"><name>Payload Format</name>

<t>A successful response to a request for a sustainability well-known URI MUST return a JSON object <xref target="RFC8259"/> with the media type application/json.</t>

<t>The JSON object MAY contain the following keys to align with the <xref target="GHG-PROTOCOL"/> and European Sustainability Reporting Standards (ESRS E1):</t>

<t><list style="symbols">
  <t>reporting-period: A string indicating the time period the metrics cover.</t>
  <t>energy-consumption: A numerical value indicating the total energy consumed by the host or resource during the reporting period.</t>
  <t>energy-unit: A string indicating the unit of energy (e.g., "kWh").</t>
  <t>scope-1: A numerical value indicating the estimated Scope 1 (direct) carbon emissions.</t>
  <t>scope-2: A numerical value indicating the estimated Scope 2 (indirect/purchased energy) carbon emissions.</t>
  <t>scope-3: A numerical value indicating the estimated Scope 3 (value chain) carbon emissions.</t>
  <t>carbon-unit: A string indicating the unit of carbon measurement (e.g., "gCO2e" or "kgCO2e").</t>
  <t>sci-score: A numerical value indicating the Software Carbon Intensity (SCI) score.</t>
</list></t>

</section>
<section anchor="example-usage"><name><strong>Example Usage</strong></name>

<t>An auditor requesting the daily metrics for a specific date:</t>

<t>HTTP</t>

<t>GET /.well-known/sustainability?period=2025-10-15 HTTP/1.1<br />
Host: api.example.com<br />
Accept: application/json</t>

<t>Response:</t>

<t>HTTP</t>

<t>HTTP/1.1 200 OK<br />
Content-Type: application/json<br />
Cache-Control: max-age=86400</t>

<t>{<br />
  "reporting-period": "2025-10-15",<br />
  "energy-consumption": 14.5,<br />
  "energy-unit": "kWh",<br />
  "scope-1": 0.0,<br />
  "scope-2": 0.4,<br />
  "scope-3": 2.1,<br />
  "carbon-unit": "kgCO2e",<br />
  "sci-score": 4.2<br />
}</t>

<section anchor="standardized-units"><name>Standardized Units</name>

<t>To ensure interoperability:
* <strong>Energy</strong>: Values MUST be reported in kilowatt-hours (kWh).
* <strong>Carbon</strong>: Values MUST be reported in grams of CO2 equivalent (gCO2e).</t>

</section>
<section anchor="formal-definition-cddl"><name>Formal Definition (CDDL)</name>

<t>The following Concise Data Definition Language (CDDL) <xref target="RFC8949"/> describes the response:</t>

<t><spanx style="verb">cddl
sustainability-report: {
  "reporting-period": tstr
  "energy-consumption": number
  "energy-unit": "kWh"
  "scope-1"?: number
  "scope-2"?: number
  "scope-3"?: number
  "carbon-unit": "gCO2e"
  "sci-score"?: number
}
</spanx></t>

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

<section anchor="caching"><name>Caching</name>

<t>Because this endpoint may require internal database queries to aggregate data - especially when dynamic period or start/end query parameters are utilized - it could become a vector for Denial of Service (DoS) attacks. Hosts SHOULD implement heavy caching (e.g., Cache-Control: max-age=86400) for the .well-known responses, and enforce strict rate-limiting on requests containing time-range query parameters.</t>

<t>Servers SHOULD use the <spanx style="verb">Cache-Control</spanx> header to prevent redundant requests. For historical data (e.g., a daily report for a previous date), a long <spanx style="verb">max-age</spanx> (e.g., 31536000 for one year) is RECOMMENDED.</t>

</section>
</section>
<section anchor="security-and-privacy-considerations"><name>Security and Privacy Considerations</name>

<section anchor="traffic-analysis-and-replay"><name>Traffic Analysis and Replay</name>

<t>Aggregated metrics reduce the risk of traffic analysis. However, real-time telemetry is NOT RECOMMENDED as it could allow an attacker to correlate energy spikes with specific user actions.</t>

</section>
<section anchor="hardware-fingerprinting"><name>Hardware Fingerprinting</name>

<t>Precise energy metrics can reveal underlying hardware architectures or cloud instance types. Servers MAY apply a small amount of "noise" (fuzzing) to reported values to mitigate hardware-level identification while maintaining reporting accuracy for auditing.</t>

</section>
<section anchor="denial-of-service-dos"><name>Denial of Service (DoS)</name>

<t>Dynamic aggregation of metrics for custom <spanx style="verb">period</spanx> parameters can be resource-intensive. Servers SHOULD rate-limit requests to the sustainability URI and cache all generated reports.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests the following registration of "sustainability" well-known URI in the "Well-Known URIs" registry maintained at IANA <eref target="https://www.iana.org/assignments/well-known-uris">https://www.iana.org/assignments/well-known-uris</eref>, following the procedure outlined in Section 7.1 of <xref target="RFC8615"/>.</t>

<t><list style="symbols">
  <t><strong>URI Suffix</strong>: sustainability</t>
  <t><strong>Change Controller</strong>: IETF</t>
  <t><strong>Specification Document</strong>: This Document</t>
  <t><strong>Status</strong>: Permanent</t>
</list></t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC3339;
&RFC8174;
&RFC8259;
&RFC8615;
&RFC8949;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="GHG-PROTOCOL" >
  <front>
    <title>The Greenhouse Gas Protocol: A Corporate Accounting and Reporting Standard (Revised Edition)</title>
    <author >
      <organization>World Resources Institute and World Business Council for Sustainable Development</organization>
    </author>
    <date year="2004"/>
  </front>
</reference>
<reference anchor="GSF-SCI" >
  <front>
    <title>Software Carbon Intensity (SCI) Specification, v1.0</title>
    <author >
      <organization>Green Software Foundation</organization>
    </author>
    <date year="2022" month="December"/>
  </front>
</reference>
<reference anchor="EU-CSRD" >
  <front>
    <title>Directive (EU) 2022/2464 as regards corporate sustainability reporting (CSRD)</title>
    <author >
      <organization>European Parliament and Council</organization>
    </author>
    <date year="2022" month="December"/>
  </front>
</reference>
<reference anchor="UN-SDG" >
  <front>
    <title>Transforming our world: the 2030 Agenda for Sustainable Development</title>
    <author >
      <organization>United Nations</organization>
    </author>
    <date year="2015"/>
  </front>
</reference>
<reference anchor="W3C-WSG" >
  <front>
    <title>Web Sustainability Guidelines (WSG) 1.0</title>
    <author >
      <organization>World Wide Web Consortium</organization>
    </author>
    <date year="2023"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
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
PMsNfXcnaARL6/aHoCkoIPg/1neGeochAAA=

-->

</rfc>

