Skip to content
Event Meet us at IBC 2026 · RAI Amsterdam, 11–14 Sept · EBU stand 10.D21 Plan your visit →

Eco-design declaration

Eco-design: the full assessment

The rate published on the eco-design declaration comes from this table. Here is every criterion of the RGESN, the verdict we reached, and the reason for it.

How this was assessed

Each criterion was assessed against what the site actually does, not against what it intends to do. Where a measurement exists, it is quoted; where none does, the criterion is counted as not met rather than assumed.

This is a self-assessment, and the rate is deliberately not flattering. A criterion awaiting an organisational decision counts as not met: until the decision is taken, it is not held. Several gaps are ours to close and are tracked as such; others depend on choices that are not ours, and say so.

Criterion by criterion

46 of 61 applicable criteria are met, which is the 75 % published on the declaration. The figure is recounted from this very table each time the page is displayed, so the two cannot diverge.

C met · 46 NC not met · 12 NA not applicable · 17 Pending awaiting an organisational decision · 3
Every criterion of the assessment, with its verdict and the reason for it
Criterion Verdict Why
1.1 NC No formal assessment of whether the service is worth its environmental cost. The MVP scope was argued on other grounds.
1.2 C Audiences and needs defined at scoping (2026-07-24), mockups approved, MVP scope settled.
1.3 Pending No one is formally accountable for eco-design. An organisational decision, and it has not been taken.
1.4 C Tooled reviews: eco:mesurer is replayable, and budgets are checked on every run of the test suite, so on every push.
1.5 C Numeric targets set in config/eco.php: ceilings for weight, requests and DOM nodes, per page.
1.6 C Collection is minimal and documented: audience measured without cookies, fingerprints pseudonymised with a daily salt, referrer reduced to host and path, retention purges automated.
1.7 C HTTPS everywhere, hashed passwords, encrypted 2FA secrets. No over-encryption of public content, which would cost without protecting.
1.8 Pending The code of this site is not published. The wider TAMIS project does publish open-source connectors (opens in a new tab) Connector The software component a participant runs, or has run for it, to exchange data inside the data space. It enforces identity, contracts and policies. , which is not the same thing. An organisational decision.
1.9 C Standard HTML, CSS and JavaScript; Laravel and Blade; no closed or proprietary technology.
1.10 NA The service talks to no hardware: no sensor, no peripheral.
2.1 C Device profiles and browser baseline written down in materiels-cibles.md. The baseline is also set in vite.config.js: left to the tool's default, it would have moved up at the next major version, without a decision and without anyone noticing.
2.2 NC Still not measured on the real devices we say we target: we do not own them, and our tooling cannot throttle a processor in a repeatable way. What we can measure is published above: weight, requests and DOM nodes per template. Extrapolating from a development machine would give a presentable figure and a false one.
2.3 NC No offline mode. The site stays usable on a slow connection because it is light, but that is not measured either.
2.4 NC The oldest supported browsers are now written down and applied at build time (Chrome 87, Edge 88, Firefox 78, Safari 14), and the pages stay readable with no JavaScript at all. What the criterion asks is to run the site on those versions, which we cannot do here. The gap is narrower; it is not closed.
2.5 C Responsive rendering checked from 375 to 1920 pixels, print included.
2.6 C Systematic code review (pre-push hook, continuous integration), including blocking environmental budgets since this batch.
2.7 NC Deployment, backups and retention are documented. What happens when this service is eventually shut down is not.
2.8 Pending We ask nothing of our suppliers about their own environmental footprint. An organisational decision.
2.9 C Interface components written for this project, with no component library imported into the public site. Filament is confined to the back office, out of scope.
2.10 C No third-party service on the public site: no external analytics, no embedded video player (videos are links), self-hosted fonts.
3.1 C Server-side rendering, not a single-page application: the browser receives HTML rather than rebuilding the interface. Redis cache, retention purges.
3.2 NC Server capacity is fixed (two VPS), with no adaptation to load. Defensible at this traffic, but not what the criterion asks.
3.3 C Standard protocols, pinned and documented platform versions, coherence checked by test.
3.4 C Corrective updates shipped continuously, dependencies audited in continuous integration and blocking on a vulnerability.
3.5 C Fixes shipped independently of features, SemVer versioning, published release notes.
3.6 C Incremental delivery: only changed files get a new fingerprint, the rest stays in the browser cache.
3.7 C Both continuous integration jobs reuse vendor/ and the composer cache, keyed on the contents of composer.lock. The deployment skips npm ci and the front-end build when the front end has not changed; the fingerprint covers resources/ in full, since Tailwind reads the templates to decide which classes to emit.
4.1 NC The constellation on the home page starts on its own: it is the identity of the page, and we keep it. It now goes to sleep as soon as it leaves the screen or the tab goes to the background, and it never starts at all if your system asks for reduced motion.
4.2 C No infinite scrolling: lists are paginated.
4.3 C Short journeys, one level of navigation, search available from every page including the error pages.
4.4 NA No third-party service to activate.
4.5 C Native browser elements (forms, links, disclosure), with no reimplementation in JavaScript.
4.6 C No decorative animated content apart from the constellation, which carries the project's visual identity.
4.7 C Text is the default medium; videos are links, never embedded players.
4.8 NC Three typefaces, four files, 104 KiB per page. Cut down to the Latin subset and the weights actually used; the three families are kept as a design decision.
4.9 C No server request while typing: no autocomplete, no validation on keystroke.
4.10 C Expected formats are stated on the contact form, and validated in the browser before sending.
4.11 NC The back office does not tell editors the expected file size and format before they upload. Outside the public scope, but the criterion covers the whole service.
4.12 NA No feature with a notable environmental impact to flag.
4.13 NA No push notifications.
4.14 C No dark pattern: declining the banner takes one click, just like accepting, and nothing is stored either way.
4.15 NC We give you no way to see what your own use of this site costs.
5.1 C Logos served as WebP at the height actually used, through a typed source with a fallback to the original: 104 KiB down to 31, a 70% reduction. Vector would be better still, but it assumes partners give us their SVG files.
5.2 C Covers produced in three widths (400, 800, 1600) and compressed accordingly: 128 KiB served as 8 to 25 KiB for a thumbnail.
5.3 NA No hosted video.
5.4 NA No hosted video.
5.5 NA No hosted video.
5.6 NA No audio content.
5.7 C Documents offered as PDF, a format suited to reading and archiving; size and type shown before download.
5.8 C Automatic purges at 13 and 24 months depending on the data, monitored on screen and checked by test.
6.1 C Ceilings for weight, requests and DOM nodes, per page, in config/eco.php, checked by the test suite. No page has exceeded them since the cover work.
6.2 C Assets are fingerprinted, so browsers can cache them for a long time.
6.3 C Compression applied to text responses by the server.
6.4 C Covers served at display width through srcset and sizes: the news list goes from 418 to 178 KiB, a 57% reduction.
6.5 C The build shipped 37 font files for four in use; it now ships only the four served, and the unused weight was removed.
6.6 NA No device sensor is used.
6.7 C Every static asset is served from the same domain as the pages.
7.1 C Redis server-side cache on the most-read data (configuration, page content, redirects).
7.2 C Retention periods set and automated, aligned with the GDPR register, monitored on screen.
7.3 C Long-running work is queued, and the interface says “queued” rather than letting anyone believe a message has gone out.
7.4 NA No consensus mechanism: no blockchain, no distributed system.
8.1 C Our host publishes PUE and WUE per datacentre every year, with an average PUE of 1.37 against 1.55 for the sector, and a server refurbishment programme.
8.2 C Refurbishment programme: close to 15,000 servers refurbished, service life extended to ten years against five or six in the sector (public source).
8.3 C PUE published per site: 1.25, 1.39 and 1.45. All three stay below the sector average of 1.55, so the claim holds without knowing which one hosts us.
8.4 C WUE published per site: 0.00009, 0.009 and 0.25. Water use is very low in all three cases.
8.5 C 100% wind or hydro under guarantees of origin on the three Paris sites, on a low-carbon national grid.
8.6 C Hosted in France, consistent with a European service for a European audience; no data leaves the Union.
8.7 NC The availability zone is fr-par-1, read from the machine itself. What is missing is no longer the information on our side but a published mapping from that zone to a physical building: without it, we cannot attest to how it is cooled. We have asked; until there is an answer we can point at, we would rather say we do not know than pick the flattering figure.
8.8 NC No distinction between hot and cold data: the volume does not call for it yet, but the criterion is not met.
8.9 C Duplication limited to what is needed: deduplicated backups, one local fallback copy, no convenience replication.
8.10 C Asynchronous work scheduled off-peak (purges between 3:30 and 4:10 in the morning), backups outside peak hours.
9.1 NA The site neither trains nor uses any learning model.
9.2 NA No training phase: nothing is trained by the site.
9.3 NA No training, so no quantity to limit.
9.4 NA No training data is collected or used.
9.5 NA No embedded model, so no retraining to schedule.
9.6 NA No model to compress: the site hosts none.
9.7 NA No inference is run, neither on the server nor on the visitor's device.