{"as_of": "2026-04-30", "next_review": "2026-07-30", "status_counts": {"shipped": 35, "partial": 7, "planned": 2, "not_addressed": 0, "out_of_scope": 10}, "rows": [{"regulation": "ESPR", "article": "9(1)", "status": "out_of_scope", "requirement": "Products only on EU market with a DPP per the applicable delegated act; data accurate, complete, up to date.", "note": "Obligation du fabricant. Notre plateforme permet le CRUD, le suivi des révisions et un score de complétude ; nous n'imposons pas la « complétude » car la réglementation la délègue aux actes délégués sectoriels.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(2)(a-c)", "status": "partial", "requirement": "Delegated acts specify per-sector data, data carriers, and label layout.", "note": "Les schémas sectoriels suivent le projet stabilisé + le règlement final de chaque secteur. La batterie est entièrement suivie ; le textile et l'électronique ne sont pas finalisés — les schémas sont retaggués à la publication.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(2)(d)", "status": "shipped", "requirement": "DPP at model, batch, or item level per the delegated act.", "note": "La colonne passport_type porte model | batch | item. Les passeports batterie unitaires (Annexe XIII §4) sont par définition au niveau article.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(2)(e)", "status": "out_of_scope", "requirement": "DPP accessible to customers before contract — including distance selling.", "note": "Obligation de placement par le fabricant. Nous fournissons une URL publique ; le fabricant est responsable de l'intégration au point de vente.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(2)(f-g)", "status": "shipped", "requirement": "Which actors have which read + write access rights to which data.", "note": "Habilitations à rôle livrées en Phase 16. Fabricant / auditeur / recycleur / réparateur / organisme notifié voient chacun les champs taggués pour leur audience. Surfaces d'écriture recycleur : phase ultérieure.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(2)(h)", "status": "shipped", "requirement": "Detailed arrangements for introducing and updating data.", "note": "Formulaire sectoriel + journal de révisions + export JSON / PDF / CSV. Upload CSV en masse au niveau Professional+.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(2)(i)", "status": "shipped", "requirement": "DPP available for the expected product lifetime.", "note": "DELETE sur un passeport renvoie 403 ; is_active passe à False en fin de vie mais la ligne persiste. Article 10(4) explicite.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "9(3)", "status": "partial", "requirement": "Easy access for value chain; verifiability for authorities; traceability.", "note": "URL publique + chaîne d'audit avec diffs liés par hash. L'héritage chaîne d'approvisionnement transversale est une couche Phase 2 (eureg.net).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(1)(a)", "status": "shipped", "requirement": "Data carrier connected to a persistent unique product identifier.", "note": "passports.short_code est l'identifiant persistant ; GS1 Digital Link est l'identifiant parallèle quand GTIN + numéro de série sont définis (Professional+).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(1)(b)", "status": "out_of_scope", "requirement": "Carrier physically present on product / packaging / accompanying docs.", "note": "Obligation du fabricant. Nous générons le QR ; l'apposition relève du fabricant.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(1)(c)", "status": "partial", "requirement": "Carrier + identifier comply with ISO/IEC 15459 family.", "note": "L'encodage GS1 Digital Link (Professional+) satisfait ISO/IEC 15459-6 (GTIN). Trial / Starter utilisent notre short_code interne (unique mais pas formellement un identifiant 15459).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(1)(d)", "status": "shipped", "requirement": "Open standards, interoperable, machine-readable, structured, no vendor lock-in.", "note": "JSON-LD avec @context public (Schema.org + namespace dpp:). CORS ouvert. Bundle d'export par passeport (Phase 19) plus ZIP de compte pour auto-hébergement.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(1)(e)", "status": "shipped", "requirement": "Personal data only with explicit consent (GDPR Article 6 alignment).", "note": "Position A : les analytics de scan utilisent l'intérêt légitime Art. 6(1)(f) avec des données minimales (ip_country dans l'en-tête, classe d'appareil — pas d'IP brute, pas d'UA brut, pas de cookie de tracking). La politique de confidentialité documente la base + le droit d'opposition Art. 21.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(1)(f-g)", "status": "shipped", "requirement": "Data refers to model/batch/item; access regulated per delegated act.", "note": "Colonne passport_type + modèle d'habilitations à rôle (Phase 16). Le tagging par audience au niveau du champ se fait par secteur ; l'Annexe XIII de la batterie est intégralement implémentée.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(2)", "status": "shipped", "requirement": "Other Union law's required data may be included.", "note": "Les colonnes JSONB documents + material_declarations + hazardous_substances + certifications offrent au fabricant des emplacements pour la superposition multi-réglementations (REACH SVHC, RoHS DoC, WEEE).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(3)", "status": "shipped", "requirement": "Provide carrier / URL to dealers + marketplaces, free of charge, within 5 working days.", "note": "Le PNG + URL du QR sont gratuits, téléchargeables depuis le tableau de bord, partageables. Nous n'imposons aucun délai d'attente.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "10(4)", "status": "shipped", "requirement": "Manufacturer must make a back-up copy available through a DPP service provider.", "note": "Nous sommes le prestataire DPP. La Phase 19 livre des bundles d'export par passeport et compte plus un modèle de résolveur portable ; le fabricant détient une copie complète auto-hébergeable. Le champ Annexe III(l) « prestataire de copie de sauvegarde » est capturé sur chaque passeport.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(a)", "status": "partial", "requirement": "Full interoperability with other DPPs (technical, semantic, organisational).", "note": "JSON-LD sur HTTPS, standards IETF/W3C. Le vocabulaire sémantique s'alignera sur les travaux CIRPASS-2 de la Commission lors de la publication du vocabulaire commun.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(b)", "status": "partial", "requirement": "Free, easy access for 13 enumerated audiences (consumers, manufacturers, customs, recyclers, civil society, …) per access rights.", "note": "5 rôles d'audience livrés (fabricant / auditeur / recycleur / réparateur / organisme notifié). Société civile et syndicats héritent en v1 de la vue consommateur (niveau public).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(c)", "status": "shipped", "requirement": "DPP stored by the economic operator placing on market or by a DPP service provider.", "note": "Nous sommes la couche de stockage — PostgreSQL + MinIO sur du matériel UE au Danemark.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(d)", "status": "shipped", "requirement": "New DPP for an existing product must link to the original DPP(s).", "note": "La Phase 15.2 a livré la colonne JSONB previous_passport_ids + le lien JSON-LD previousPassports + le rendu de chaîne dans le viewer. Pertinent au hash — un changement de prédécesseur fait basculer le hash d'intégrité.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(e)", "status": "shipped", "requirement": "DPP remains available after insolvency / liquidation / cessation of activity.", "note": "La Phase 19 livre un bundle d'export à la demande complet (JSON-LD + PDF + QR + révisions) plus un modèle de résolveur portable. Le fabricant détient une copie auto-hébergeable indépendamment de notre exploitation. Déclaration publique de continuité sous /continuity.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(f)", "status": "shipped", "requirement": "Rights to introduce / modify / update restricted by access rights.", "note": "Chemins d'écriture à rôle (plomberie Phase 16). Aujourd'hui seuls les comptes fabricants écrivent ; les surfaces d'écriture recycleur pour passeports de refurbishment sont une phase future.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(g)", "status": "shipped", "requirement": "Data authentication, reliability, integrity ensured.", "note": "passport_hash (SHA-256 sur le JSON-LD canonique) à chaque enregistrement. Chaîne de révisions avec hash_before / hash_after / diff structuré. Validateur de chaîne sous /p/{code}/audit.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11(h)", "status": "shipped", "requirement": "High level of security, privacy, anti-fraud.", "note": "La Phase 20 livre une revue de sécurité interne documentée contre une checklist OWASP ASVS L2 + API Top-10 ; cadence trimestrielle. Voir /security pour les affirmations publiques et docs/security-review-{YYYY-MM-DD}.md pour chaque revue datée.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11 last subpara", "status": "shipped", "requirement": "DPP service providers must not sell / reuse / process data beyond storage.", "note": "Les CGU le contraignent. Nous ne monétisons pas les données client. Documenté dans /privacy et /terms.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "11 implementing acts", "status": "out_of_scope", "requirement": "Commission may set out procedures for issuing / verifying digital credentials of access-rights holders.", "note": "Acte d'exécution non encore adopté. Lors de son adoption, notre modèle d'habilitations s'aligne sur le schéma UE émergent (probablement eIDAS-DPP).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "12(1)", "status": "shipped", "requirement": "Operator + facility identifiers comply with ISO/IEC 15459 family or equivalent.", "note": "La Phase 15.3 a livré des validateurs de format pour GLN (clé de contrôle mod-10), EORI (préfixe pays + alphanumérique), DUNS (9 chiffres). Les formats inconnus passent (le règlement autorise explicitement les schémas équivalents).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "12(2-3)", "status": "shipped", "requirement": "If a unique operator / facility ID isn't yet available, the DPP creator must request one on behalf of the actor.", "note": "La Phase 15.4 a livré l'état pendingIssuance sur facility_id et other_operator_identifiers. Le fabricant atteste avoir sollicité confirmation au titre de l'Art. 12(2)/(3) avant soumission ; le statut bascule à pendingIssuance en JSON-LD jusqu'à délivrance.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "12(4-6)", "status": "out_of_scope", "requirement": "Lifecycle management rules for unique identifiers — pending delegated acts.", "note": "Actes délégués de la Commission non encore adoptés.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "13(1)", "status": "out_of_scope", "requirement": "Commission sets up a registry by 19 July 2026 storing identifiers + commodity codes.", "note": "Pas notre infrastructure. Construction par la Commission.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "13(4-5)", "status": "planned", "requirement": "Manufacturer uploads identifiers; registry returns a unique registration ID per upload.", "note": "La Phase 7 a livré l'abstraction (eu_registry.py + tâche ARQ + table RegistryPointer). Mode stub jusqu'à ce que la Commission publie l'API LinkSet et nos credentials provider — trois variables d'environnement à basculer.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "13(6)", "status": "out_of_scope", "requirement": "Commission, competent national authorities, and customs have access to the registry.", "note": "Leur accès au registre, pas le nôtre.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "14", "status": "out_of_scope", "requirement": "Commission sets up a publicly accessible web portal allowing search across DPPs.", "note": "Construction de la Commission. Nous servons notre JSON-LD dans une forme que le portail peut ingérer ; dès que le registre indexe notre domaine, l'accès portail fonctionne automatiquement.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "15(1)", "status": "planned", "requirement": "Importer provides customs the unique registration identifier from Article 13(5).", "note": "Une fois le registre en service, notre RegistryPointer.registry_id est la valeur que le fabricant remet aux douanes. Affichage prominent dans le tableau de bord : petit suivi UI.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "15(2-3)", "status": "out_of_scope", "requirement": "Customs verifies registration ID + commodity code before release; registry interconnects with EU CSW-CERTEX.", "note": "Flux douanier + construction Commission. Hors de notre périmètre.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "15(4)", "status": "shipped", "requirement": "Commission and customs may retrieve and use DPP / registry data.", "note": "L'endpoint JSON-LD avec CORS ouvert satisfait ce contrat.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "ESPR", "article": "Annex III", "status": "shipped", "requirement": "Annex III data elements (a)–(l) — manufacturer / authorised rep / importer / operators / facilities / DPP service provider / docs / TARIC / GTIN.", "note": "Chaque élément Annexe III a une colonne ou un slot JSONB. Les actes délégués sectoriels choisissent le sous-ensemble exigé ; nous capturons l'ensemble complet pour que le fabricant remplisse ce qui s'applique.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2024/1781/oj"}, {"regulation": "Battery", "article": "77(1)", "status": "shipped", "requirement": "LMT, industrial >2 kWh, EV batteries on market from 18 February 2027.", "note": "Le schéma du secteur batterie suit les quatre catégories (portable / SLI / industrielle / LMT / EV). L'ensemble des champs requis varie par catégorie.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(2)", "status": "shipped", "requirement": "Public information per Annex XIII §1; restricted §2 + §3 per audience.", "note": "Tous les champs §1/§2/§3/§4 présents. La Phase 16 sépare la barrière restreinte en rôles auditeur / recycleur / réparateur / notified_body ; auparavant tous les champs restreints étaient regroupés.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(3)", "status": "partial", "requirement": "Accessible through QR; QR + identifier comply with ISO/IEC 15459-1..6.", "note": "QR + encodage GS1 Digital Link (Professional+). Trial / Starter utilisent notre short_code interne (unique mais pas formellement un identifiant 15459).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(4)", "status": "shipped", "requirement": "Manufacturer ensures information is accurate, complete, up to date.", "note": "Responsabilité fabricant. Nous fournissons CRUD + score de complétude + historique de révisions. La « rédaction déléguée » (utilisateurs supplémentaires sur un compte fabricant écrivant en son nom) est une phase de suivi.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(5)", "status": "shipped", "requirement": "Open standards, interoperable, no vendor lock-in, machine-readable, structured, searchable.", "note": "Comme ESPR 10(1)(d) — JSON-LD avec @context ouvert, CORS ouvert, exportable en PDF / JSON / CSV / ZIP.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(6)", "status": "shipped", "requirement": "Access regulated per Article 78.", "note": "Modèle d'habilitations à rôle (Phase 16). Les exigences de l'Art. 78 reflètent ESPR Art. 11.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(7) refurb", "status": "shipped", "requirement": "Refurbished / remanufactured battery: new passport linked to original passport(s).", "note": "La Phase 15.2 a livré la colonne JSONB previous_passport_ids + le rendu de chaîne dans le viewer. Un recycleur scannant le QR d'une batterie refurbished peut remonter à l'originale.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(7) waste", "status": "partial", "requirement": "When a battery becomes waste, responsibility transfers to producer / EPR org / waste operator.", "note": "Côté viewer Art. 77(8) : le passeport renvoie 410 Gone à battery_status='waste'. Le flux de transfert de propriété de l'Art. 77(7) (« transférer ce passeport à l'opérateur X ») est une phase future.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(8)", "status": "shipped", "requirement": "Battery passport ceases to exist after recycling.", "note": "battery_status='waste' → viewer 410 Gone. La ligne reste en base pour l'audit à vie de l'Art. 10(4).", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "77(9)", "status": "out_of_scope", "requirement": "Commission adopts implementing act by 18 August 2026 specifying who is 'person with legitimate interest'.", "note": "Acte d'exécution non encore adopté. Notre modèle d'habilitations anticipe l'énumération des rôles ; les règles spécifiques de téléchargement / partage / republication seront codées une fois l'acte adopté.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "78", "status": "shipped", "requirement": "Article 78 mirrors ESPR Article 11 with battery-specific phrasing.", "note": "Même posture : intégrité (g) et stockage (c) livrés. Linking, continuité, revue de sécurité tous clos par Phases 15.2 / 19 / 20.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "Annex XIII §1", "status": "shipped", "requirement": "§1 — Public fields (everyone).", "note": "Tous les 19 champs §1 présents et taggués accès public. Vue consommateur.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "Annex XIII §2", "status": "shipped", "requirement": "§2 — Legitimate interest + Commission (composition, dismantling, safety measures).", "note": "Phase 16 : auditeur + recycleur + réparateur voient les champs §2 ; consommateur / anonyme non.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "Annex XIII §3", "status": "shipped", "requirement": "§3 — Notified bodies + market surveillance (test reports).", "note": "Phase 16 : notified_body voit les champs §3 exclusivement. Recycleur / réparateur non.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "Annex XIII §4", "status": "shipped", "requirement": "§4 — Item-level passport, legitimate interest (state of health, charging cycles, etc.).", "note": "Phase 16 : auditeur + recycleur + réparateur voient les champs §4 sur les passeports unitaires.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}, {"regulation": "Battery", "article": "Annex VI(C)", "status": "shipped", "requirement": "Annex VI Part C — QR physical requirements (high contrast, smartphone-readable, permanent affixation).", "note": "Le couple de couleurs par défaut est validé pour le contraste. Le test de retour pyzbar confirme la lisibilité smartphone. L'apposition permanente est de la responsabilité du fabricant.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}]}