A reference deployment of /.well-known/sustainability-data
(draft-besleaga-sustainability-wellknown).
This service is a reference deployment of the /.well-known/sustainability-data well-known URI defined in draft-besleaga-sustainability-wellknown. It serves one conformant JSON document per reporting subject, each at /{domain}/.well-known/sustainability-data, so that the convention can be exercised against real, sourced annual disclosures without waiting for each organization to deploy its own endpoint. In a real deployment the document lives on the subject's own origin; a gateway is only a way to demonstrate and test the format.
Please read. Documents served here about third parties are ILLUSTRATIVE MAPPINGS prepared by the gateway operator from those organizations' own published reports. They are NOT published, reviewed, authorized, or endorsed by their reporting subjects, and this gateway is not an authoritative origin for them. Every figure is traceable to the public source document named in that document's methodology-uri member; nothing is estimated, interpolated, or invented on the subjects' behalf. Documents whose subject is a reserved .example name are deliberately synthetic and describe nothing real.
| Endpoint | Reporting subject | Period | Method | Provenance |
|---|---|---|---|---|
akamai.com sourced |
Akamai Technologies, Inc. (organization) | 2025 |
hardware-estimated |
source document |
automattic.com sourced |
Automattic Inc. (data centre operations) (organization) | 2020 |
hardware-estimated |
source document |
cloudflare.com sourced |
Cloudflare, Inc. (organization) | 2024 |
hardware-estimated |
source document |
fastly.com sourced |
Fastly, Inc. (organization) | 2024 |
hardware-estimated |
source document |
hetzner.com sourced |
Hetzner Online GmbH (organization) | 2024 |
hardware-estimated |
source document |
microsoft.com sourced |
Microsoft Corporation (organization) | 2025 |
hardware-estimated |
source document |
mozilla.org sourced |
Mozilla Foundation and Mozilla Corporation (organization) | 2025 |
hardware-estimated |
source document |
ovhcloud.com sourced |
OVH Groupe SA (OVHcloud) (organization) | 2025 |
hardware-estimated |
source document |
retailer.example synthetic |
retailer.example (organization) | 2025 |
third-party-modeled |
source document |
saas-platform.example synthetic |
saas-platform.example (service) | 2025 |
hardware-metered |
source document |
wikimedia.org sourced |
Wikimedia Foundation (organization) | 2024 |
hardware-estimated |
source document |
One demonstration subject per adapter shipped by the published sustainability-wellknown-publisher package, so every adapter runs end to end in this gateway. Subjects marked live fetch a real upstream daily (only upstreams whose licenses permit attributed republication; the attribution is carried in band). Subjects marked replay run the SAME adapter code against a recorded upstream response, because no legal free live access to that upstream exists; their figures are synthetic and say so in band. All sit under reserved .example names: they demonstrate the format and describe no real organization.
| Endpoint | Adapter | Upstream & attribution | Period |
|---|---|---|---|
carbontxt-demo.example live |
carbontxt-api (LIVE GWF validator API, daily) |
GWF carbon.txt validator API (free key) / recorded carbon.txt carbon.txt self-published by its organization; validator by GWF |
2025 |
climatiq-demo.example replay |
climatiq (recorded response shape, replay) |
Climatiq estimate API (replay by default; see terms note) replay default: Climatiq 2026 terms restrict redistribution last live attempt failed; serving last good data |
2026-07 |
co2js-demo.example live |
co2js (local SWD model, live Greencheck, daily) |
CO2.js locally (Ember data) + GWF Greencheck CO2.js Apache-2.0; Ember CC BY 4.0; GWF Green Domains ODbL |
2026-07 |
grid-intensity-demo.example live |
computed (LIVE NESO grid intensity, daily) |
NESO Carbon Intensity API (api.carbonintensity.org.uk) NESO Carbon Intensity API, CC BY 4.0 |
2026-07 |
kepler-demo.example replay |
kepler-prometheus (recorded fixture, replay mode) |
Kepler energy counters via Prometheus (no public instance; replay) synthetic figures; recorded Prometheus query response |
2025 |
ms-sustainability-demo.example replay |
ms-sustainability (retired OData shape, replay) |
MS Cloud for Sustainability (preview API retired 2025-05-30; replay) synthetic figures; shape per the retired tenantemissions API |
2025 |
salesforce-nzc-demo.example replay |
salesforce-nzc (documented SOQL shape, replay) |
Salesforce Net Zero Cloud (30-day trial orgs exist; replay here) synthetic figures; field names per NZC developer guide |
2025 |
watershed-demo.example replay |
watershed (documented footprint shape, replay) |
Watershed API (customer-only keys, no sandbox; replay) synthetic figures; shape per api-docs.watershed.com |
2025 |
Every case from the specification repository's canonical example-responses set, served live. Array (trend) cases follow the draft's rule: the parameterless Basic response collapses to the most recent entry, and the full sorted array is returned only for ?granularity= requests on documents that themselves declare capabilities:extended. All figures are synthetic; the subjects are reserved .example names.
| Endpoint | Case | Shape | Demonstrates |
|---|---|---|---|
basic.example example |
Basic response | object | The draft's worked Basic example: an origin-wide monthly report. |
minimal.example example |
Minimal document | object | Mandatory members only — every metric omitted, methodology-uri carries the disclosure. |
extended.example example |
Daily report, path target | object | A daily reporting period for a path-scoped target with extended capabilities declared. |
partial.example example |
Partial reporting | object | Omission as the only not-reported mechanism. The source file omits carbon-unit; the served document carries the materialized default (gCO2e) — the pipeline resolving the draft's default-unit rule. |
origin-annual.example example |
Origin-wide annual report | object | A calendar-year report for a whole origin, from cloud-billing data. |
organization.example example |
Organization report | object | An organization-level mapping in the shape the draft's organization example uses. |
organization-trend.example example |
Yearly trend, Basic service | array (4) | A multi-year trend file whose document declares capabilities:basic — the Basic response therefore collapses to the most recent year, exactly as the draft requires. |
product.example example |
Product | object | A physical product as the reporting subject (per-unit footprint). |
service.example example |
Service | object | A hosted application service as the reporting subject. |
tenant.example example |
Cloud tenant | object | A single cloud tenant as the reporting subject. |
device.example example |
Hardware device | object | A metered edge device as the reporting subject. |
data-source.example example |
Data source / feed | object | A published data feed as the reporting subject. |
yearly.example example |
Monthly series (Extended) | array (12) ?granularity=monthly | Twelve monthly entries; Basic collapses to the latest month, ?granularity=monthly returns the sorted year. |
yearly-monthly-target.example example |
Monthly series, path target (Extended) | array (2) ?granularity=monthly | A short monthly series for a path-scoped target; Basic collapses, ?granularity=monthly returns the array. |
The gateway also reports on itself, as a service, at
/.well-known/sustainability-data
(target: sustainability-data-gateway).
At boot, every document this gateway serves was fetched through the published publisher pipeline and validated with the published consumer library — the same code a third party would run. A validation failure aborts startup.
This deployment: sustainability-wellknown-consumer@0.5.2
validated 36
documents at boot.
This gateway implements the Basic service: query parameters are
ignored and the Basic response is returned — never an error. The one deliberate
exception: the wire-format examples that themselves declare
capabilities: "extended" honor the granularity parameter and
return their full sorted trend array, exactly as the draft's Extended service defines.
Successful responses are
application/json with Cache-Control: public, max-age=86400,
Access-Control-Allow-Origin: *, a strong ETag and
Last-Modified; If-None-Match yields 304.
A method other than GET or HEAD yields 405 with
Allow: GET, HEAD. An unknown subject yields 404.
Every document served here can be fetched and validated with the specification's
published reference consumer
(sustainability-wellknown-consumer,
version 0.5.2 or later). --strict runs the full conformance battery —
schema validation, media type, caching, conditional requests, method handling — and
labels each check with the strength of the requirement it tests (a failed
MUST is a conformance failure; an unmet SHOULD is a warning).
The gateway's own report, at this origin's true well-known location:
npx -y -p sustainability-wellknown-consumer sustainability-fetch https://sustainability.up.railway.app --strict
Any subject document — curated, adapter demonstration, or wire-format example — by
giving its path-prefixed base URL; the consumer resolves
/.well-known/sustainability-data under the prefix:
npx -y -p sustainability-wellknown-consumer sustainability-fetch https://sustainability.up.railway.app/cloudflare.com --strict
npx -y -p sustainability-wellknown-consumer sustainability-fetch https://sustainability.up.railway.app/grid-intensity-demo.example --strict
npx -y -p sustainability-wellknown-consumer sustainability-fetch https://sustainability.up.railway.app/yearly.example --strict
npx -y -p sustainability-wellknown-consumer sustainability-fetch https://sustainability.up.railway.app/<any-domain-above> --strict
The Extended trend arrays, by giving the full document URL with its
granularity parameter (the consumer validates array documents too):
npx -y -p sustainability-wellknown-consumer sustainability-fetch "https://sustainability.up.railway.app/yearly.example/.well-known/sustainability-data?granularity=monthly"
To just fetch and read a document (or pipe it into your own tooling):
curl -s https://sustainability.up.railway.app/wikimedia.org/.well-known/sustainability-data | python3 -m json.tool
Independent of this project's tooling, the JSON validates against the specification's published JTD and CDDL schemas.
/index.json carries the same list, this notice included.