Arquitectura y derechos de acceso

¿Puede vuestra plataforma mostrar campos distintos en la vista de consumidor frente a la regulatoria?

Sí. Cada campo de cada esquema sectorial lleva un nivel de acceso por audiencia. La vista del consumidor solo muestra los campos marcados como «públicos»; una credencial de auditor, reciclador, reparador u organismo notificado desbloquea los campos marcados para esa audiencia (la división §§ 1/2/3/4 del anexo XIII del Reglamento de Baterías es el modelo). Ambas vistas se resuelven desde la misma URL /p/{code} mediante negociación Accept-header.

¿El mismo código QR se resuelve a contenidos distintos para audiencias distintas?

Sí. Misma URL, contenido negociado por la cabecera Accept (HTML para humanos, JSON-LD para máquinas) y filtrado por la credencial que el visitante presenta. Nunca bifurcamos las URL por audiencia — el artículo 10 del ESPR exige una URL permanente.

¿Cómo autenticáis a una autoridad de vigilancia del mercado?

Mediante una credencial firmada de corta duración, emitida a través de un proceso de solicitud verificado. Se reconocen cinco roles: fabricante, auditor, reciclador, reparador, organismo notificado. Las credenciales son revocables desde una única consola admin; la revocación es efectiva en la siguiente petición. Hasta que se publique una especificación eIDAS-DPP de un Estado miembro, la verificación es manual — emisiones de un dígito al mes en escala piloto.

Jurisdicción

¿Puede un consumidor francés ver información de reciclaje francesa y un consumidor alemán información alemana, desde el mismo QR?

Hoy el pasaporte lleva un único bloque de fin-de-vida. Bloques por jurisdicción (resueltos por parámetro de consulta, cookie de idioma o geo-IP, con fallback al predeterminado del fabricante) están en cola para la próxima entrega; la forma de datos y el resolver están diseñados y los paquetes de contenido por mercado están delimitados. Hasta entonces, los fabricantes que exportan a varios países publican un bloque predeterminado redactado para ser aceptable en toda la UE.

¿Y respecto a hreflang y el idioma?

Ya entregado. EN, DE, DA, FR, IT, ES y PL se renderizan nativamente en cada página, incluido el visor /p/{code} orientado al consumidor; las etiquetas hreflang recíprocas se emiten en cada variante; Accept-Language se autodetecta para visitantes que llegan directamente al /p/{code} sin prefijo.

Auditoría e integridad

¿Puede un regulador probar lo que estaba en línea en una fecha concreta?

Sí. Cada guardado escribe una fila passport_revisions con hash_before, hash_after y un diff estructurado. La cadena se sirve en /p/{code}/audit como JSON, con las rutas de diff de acceso restringido eliminadas para los llamantes anónimos y desbloqueadas para los auditores acreditados. La validez de la cadena se puede verificar en el cliente, sin tener que confiar en nuestra infraestructura.

¿Qué garantía de integridad llevan los datos?

Cada pasaporte tiene un passport_hash (SHA-256 sobre el JSON-LD canónico). El hash aparece en la vista HTML, en la respuesta JSON-LD y en el PDF offline — tres superficies independientes que un regulador puede contrastar sin tener que confiar en ninguna por sí sola.

¿Se llegan a borrar los pasaportes?

No. El artículo 10(4) del ESPR exige persistencia de por vida; un DELETE sobre un pasaporte devuelve 403. Los pasaportes de batería pasan a is_active=False (artículo 77(8)) cuando la unidad alcanza el flujo de residuos — el visor devuelve 410 Gone para lectores humanos, la fila permanece en la base de datos para auditoría.

Postura regulatoria

¿Sois conformes ESPR?

Construidos sobre la arquitectura ESPR. Varios actos delegados (textil, electrónica) aún no son definitivos, así que ninguna plataforma del mundo puede afirmar conformidad sectorial completa hoy. Nuestros esquemas siguen los borradores de trabajo; cuando se publique cada acto delegado, re-etiquetamos los campos del esquema — no reconstruimos.

¿Cuál es vuestra relación con el Registro Central de la UE?

El artículo 13 del ESPR exige el registro a partir del 19 de julio de 2026. Nuestra integración está abstraída tras un único módulo con un stub hoy; cuando la Comisión publique la API LinkSet y emita las credenciales de proveedor, cambiamos tres variables de entorno — no se requieren más cambios de código. Contenza K/S es miembro del consorcio CIRPASS-2, por lo que seguimos los mismos documentos de trabajo contra los que la Comisión está redactando.

¿Qué sectores cubrís?

Batería (2023/1542), textil (acto delegado ESPR + 2024/3015), construcción (CPR 305/2011), electrónica (ESPR + Right-to-Repair 2024/1799 + RAEE), neumáticos (2020/740) y un fallback general para productos sin acto sectorial. Maquinaria (2023/1230) está intencionadamente fuera de alcance — exige documentación técnica CE, no un DPP.

Operación

¿Dónde se aloja el dato?

En la UE. PostgreSQL + MinIO en hardware europeo, en Dinamarca. El campo «proveedor de copia de respaldo» del anexo III(l) se registra en cada pasaporte para que un regulador pueda identificar al custodio de los datos sin preguntarnos.

¿Puedo exportar mis datos?

Sí. El endpoint máquina JSON-LD es la exportación — la misma forma canónica sobre la que se calcula el hash de integridad. CORS habilitado (Access-Control-Allow-Origin: *) para que cualquier herramienta pueda obtenerlo entre orígenes. Un bundle ZIP completo de la cuenta y una plantilla portable de resolver están en cola para la próxima entrega; el JSON-LD por pasaporte es ya hoy una exportación completa y verificable por máquina.

¿Dominios propios?

Sí. Caddy con TLS on-demand emite un certificado por dominio verificado en la primera petición. La propiedad del dominio se verifica mediante un registro TXT antes de emitirse; un secuestro de dominio no es posible.

¿Y los productos ya en el mercado — puedo pasaportarlos retroactivamente?

Sí — es parte del diseño. La carga masiva CSV (nivel Professional+) lleva los SKU existentes a conformidad; el QR puede imprimirse en etiquetas, hangtags o en el siguiente lote de embalaje. El pasaportado retroactivo es exactamente el caso que la regulación contempla para el periodo de transición.

¿Una pregunta que no hemos respondido? Contáctenos — la añadiremos a la página.