{"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": "Obligación del fabricante. Nuestra plataforma habilita CRUD del pasaporte, seguimiento de revisiones y un scorer de completitud; no imponemos «completitud» porque el reglamento lo difiere a los actos delegados sectoriales.", "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": "Los esquemas sectoriales siguen el borrador estabilizado + reglamento definitivo de cada sector. La batería está completamente seguida; textil y electrónica no están finalizados — los esquemas se re-etiquetan al publicarse.", "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 columna passport_type lleva model | batch | item. Los pasaportes batería a nivel artículo (Anexo XIII §4) son por definición a nivel artículo.", "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": "Obligación de colocación del fabricante. Proporcionamos una URL pública; el fabricante es responsable de incrustarla en el punto de venta.", "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": "Credenciales por rol entregadas en la Fase 16. Fabricante / auditor / reciclador / reparador / organismo notificado ven cada uno los campos etiquetados para su audiencia. Las superficies de escritura reciclador son una fase posterior.", "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": "Formulario sectorial + journal de revisiones + exportación JSON / PDF / CSV. Carga masiva CSV en nivel 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 sobre un pasaporte devuelve 403; is_active pasa a False al fin de vida pero la fila persiste. Artículo 10(4) explícito.", "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 pública + cadena de auditoría con diffs hash-encadenados. La herencia de cadena de suministro multiplataforma es una capa separada de Fase 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 es el identificador persistente; GS1 Digital Link es el identificador paralelo cuando GTIN + serial están establecidos (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": "Obligación del fabricante. Generamos el QR; la fijación es responsabilidad del fabricante.", "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": "La codificación GS1 Digital Link (Professional+) satisface ISO/IEC 15459-6 (GTIN). Trial / Starter usan nuestro short_code interno (único pero no formalmente un identificador 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 con @context público (Schema.org + namespace dpp:). CORS abierta. Bundle de exportación por pasaporte (Fase 19) más ZIP de cuenta para auto-alojamiento.", "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": "Posición A: las analíticas de escaneo usan el interés legítimo Art. 6(1)(f) con datos mínimos (ip_country del header, clase de dispositivo — sin IP cruda, sin UA cruda, sin cookie de tracking). La política de privacidad documenta la base + el derecho de oposición 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": "Columna passport_type + modelo de credencial por rol (Fase 16). El etiquetado por audiencia a nivel de campo se hace por sector; el Anexo XIII de batería está totalmente implementado.", "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": "Las columnas JSONB documents + material_declarations + hazardous_substances + certifications ofrecen al fabricante slots para superposición multi-reglamento (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": "El PNG + URL del QR son gratuitos, descargables del panel, compartibles. No imponemos ningún período de espera.", "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": "Somos el proveedor de servicios DPP. La Fase 19 entrega bundles de exportación por pasaporte y de cuenta más una plantilla de resolver portátil, así el fabricante mantiene una copia completa auto-alojable. El campo Anexo III(l) proveedor de respaldo se captura en cada pasaporte.", "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 sobre HTTPS, estándares IETF/W3C. El vocabulario semántico se alineará al trabajo CIRPASS-2 de la Comisión cuando publique el vocabulario común.", "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 roles de audiencia entregados (fabricante / auditor / reciclador / reparador / organismo notificado). Sociedad civil y sindicatos heredan en v1 la vista consumidor (nivel público).", "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": "Somos la capa de almacenamiento — PostgreSQL + MinIO en hardware UE en Dinamarca.", "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 Fase 15.2 entregó la columna JSONB previous_passport_ids + el enlace JSON-LD previousPassports + el renderizado de cadena en el visor. Relevante al hash — los cambios de predecesor cambian el hash de integridad.", "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 Fase 19 entrega un bundle de exportación on-demand completo (JSON-LD + PDF + QR + revisiones) más una plantilla de resolver portátil. El fabricante mantiene una copia auto-alojable independientemente de nuestra operación. Declaración pública de continuidad bajo /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": "Rutas de escritura por rol (plumbing Fase 16). Hoy solo escriben las cuentas fabricantes; las superficies de escritura reciclador para pasaportes de refurbishment son una fase futura.", "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 sobre el JSON-LD canónico) en cada guardado. Cadena de revisiones con hash_before / hash_after / diff estructurado. Validador de cadena bajo /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 Fase 20 entrega una revisión de seguridad interna documentada contra una checklist OWASP ASVS L2 + API Top-10; cadencia trimestral. Ver /security para las afirmaciones públicas y docs/security-review-{YYYY-MM-DD}.md por cada revisión fechada.", "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": "Los términos de servicio lo limitan. No monetizamos datos del cliente. Documentado en /privacy y /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": "Acto de ejecución no adoptado todavía. Cuando llegue, nuestro modelo de credencial se alineará al esquema UE emergente (probablemente 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 Fase 15.3 entregó validadores de formato para GLN (dígito de control mod-10), EORI (prefijo país + alfanumérico), DUNS (9 dígitos). Los formatos desconocidos pasan (el reglamento permite explícitamente esquemas equivalentes).", "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 Fase 15.4 entregó el estado pendingIssuance en facility_id y other_operator_identifiers. El fabricante atestigua haber solicitado confirmación según Art. 12(2)/(3) antes del envío; el estado pasa a pendingIssuance en JSON-LD hasta que se emita el ID.", "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": "Actos delegados de la Comisión no adoptados todavía.", "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": "No es nuestra infraestructura. Construcción de la Comisión.", "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 Fase 7 entregó la abstracción (eu_registry.py + tarea ARQ + tabla RegistryPointer). Modo stub hasta que la Comisión publique la API LinkSet y nuestras credenciales provider — tres variables de entorno.", "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": "Su acceso al registro, no el nuestro.", "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": "Construcción de la Comisión. Servimos nuestro JSON-LD en una forma que el portal puede ingerir; en cuanto el registro indexe nuestro dominio, el acceso al portal funciona automáticamente.", "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": "Una vez el registro está en producción, nuestro RegistryPointer.registry_id es el valor que el fabricante entrega a aduanas. La visualización prominente en el panel es un pequeño seguimiento 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": "Flujo aduanero + construcción Comisión. Fuera de nuestra superficie.", "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": "El endpoint JSON-LD con CORS abierta satisface este contrato.", "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": "Cada elemento Anexo III tiene una columna o slot JSONB. Los actos delegados sectoriales eligen el subconjunto requerido; capturamos el conjunto completo para que el fabricante rellene lo que aplique.", "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": "El esquema del sector batería sigue las cuatro categorías (portable / SLI / industrial / LMT / EV). El conjunto de campos requeridos varía por categoría.", "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": "Todos los campos §1/§2/§3/§4 presentes. La Fase 16 separa la barrera restringida en roles auditor / reciclador / reparador / notified_body; antes todos los campos restringidos estaban en un solo bucket.", "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 + codificación GS1 Digital Link (Professional+). Trial / Starter usan nuestro short_code interno (único pero no formalmente un identificador 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": "Responsabilidad del fabricante. Proporcionamos CRUD + scorer de completitud + historial de revisiones. La «autoría delegada» (usuarios adicionales en una cuenta fabricante escribiendo en su nombre) es una fase de seguimiento.", "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": "Como ESPR 10(1)(d) — JSON-LD con @context abierto, CORS abierta, 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": "Modelo de credencial por rol (Fase 16). Los requisitos del Art. 78 reflejan 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 Fase 15.2 entregó la columna JSONB previous_passport_ids + el renderizado de cadena en el visor. Un reciclador escaneando el QR de una batería refurbished puede volver a la original.", "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": "Lado visor Art. 77(8): el pasaporte devuelve 410 Gone a battery_status='waste'. El flujo de transferencia de propiedad del Art. 77(7) («transferir este pasaporte al operador X») es una fase futura.", "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' → visor 410 Gone. La fila permanece en BD para la auditoría de por vida del 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": "Acto de ejecución no adoptado todavía. Nuestro modelo de credencial anticipa la enumeración de roles; las reglas específicas de descarga / compartición / republicación se codificarán una vez adoptado el acto.", "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": "Misma postura: integridad (g) y almacenamiento (c) entregados. Linking, continuidad, revisión de seguridad todos cerrados por las Fases 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": "Los 19 campos §1 presentes y etiquetados de acceso público. Vista consumidor.", "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": "Fase 16: auditor + reciclador + reparador ven los campos §2; consumidor / anónimo no.", "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": "Fase 16: notified_body ve los campos §3 exclusivamente. Reciclador / reparador no.", "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": "Fase 16: auditor + reciclador + reparador ven los campos §4 en pasaportes a nivel artículo.", "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": "El par de colores predeterminado está validado para contraste. El test de ida-y-vuelta pyzbar confirma la legibilidad smartphone. La fijación permanente es responsabilidad del fabricante.", "eur_lex_url": "https://eur-lex.europa.eu/eli/reg/2023/1542/oj"}]}