Tratamiento de datos, PII y telemetría
De un vistazo
Sección titulada «De un vistazo»Esta página describe cómo trata los datos el motor del núcleo: qué lee, qué conserva en la memoria del proceso, qué escribe, qué transformación determinista de depuración de PII aplica a los paquetes de auditoría y cómo funciona la ruta de telemetría opcional.
Límite. Esta página describe el comportamiento de la biblioteca. Los datos a nivel de despliegue —la residencia: en qué jurisdicción se procesan los documentos, dónde quedan los archivos temporales, cuánto tiempo se conserva la salida y qué backend de telemetría (si existe) recibe los spans— son responsabilidad del integrador, no de la biblioteca. El motor proporciona valores predeterminados que fallan de forma segura y una transformación de depuración; no puede decidir la residencia de datos ni la base legal.
Instalación
Sección titulada «Instalación»composer require nextpdf/core:^3El depurador de PII y el interceptor de telemetría forman parte del paquete del núcleo; la ruta de telemetría permanece inerte salvo que esté presente un SDK de OpenTelemetry y el integrador conecte el interceptor.
Visión conceptual
Sección titulada «Visión conceptual»El motor es un procesador de los datos que recibe, en el sentido de ISO/IEC 29100 (iso_iec_29100#3.x56): actúa sobre el contenido del documento conforme a las instrucciones del integrador. No se comunica con servidores externos, no conserva contenido más allá de la salida solicitada y no transmite el contenido del documento a ningún endpoint operado por NextPDF.
Importan tres superficies de datos:
- E/S de documentos. La entrada se lee desde la ruta o el flujo que se indique; la salida se escribe en la ruta o el flujo que se indique. Los búferes intermedios viven en la memoria del proceso durante el renderizado y se liberan cuando este termina.
- Paquetes de auditoría. Cuando la auditoría está habilitada, el motor puede emitir un paquete de diagnóstico. Antes de la serialización, ese paquete pasa por un depurador de PII determinista.
- Telemetría. Un interceptor opcional de OpenTelemetry puede emitir spans y métricas. Permanece desactivado salvo que el SDK esté instalado y se construya el interceptor; los atributos de los spans pasan por un saneador de atributos.
El enfoque de privacidad sigue el principio del Art. 32 del RGPD según el cual la seudonimización y la minimización son ejemplos de salvaguardas. La aplicación de estas salvaguardas es responsabilidad del responsable del tratamiento (eu_gdpr#x50). La biblioteca proporciona el mecanismo de depuración. El responsable del tratamiento decide la base legal, la retención y la residencia.
Superficie de la API
Sección titulada «Superficie de la API»Esta página no repite la documentación de las API de auditoría ni de telemetría (consulta /modules/core/audit/). Los componentes relevantes para la confianza son el saneador de PII predeterminado que se aplica a los paquetes de auditoría y el saneador de atributos del interceptor de OpenTelemetry; su comportamiento se describe a continuación por sus efectos, no por su firma.
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»El comportamiento predeterminado es que nada salga del proceso salvo que se solicite. Ningún código habilita una salida de red; la ausencia de código es el comportamiento predeterminado:
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
// Input read from disk, output written to disk. No telemetry SDK loaded,// so the telemetry path completes in sub-microsecond no-ops. No content// is transmitted anywhere.$doc = Document::open('input.pdf');$doc->save('output.pdf');Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»Cuando se genera un paquete de auditoría, el depurador de PII determinista enmascara las categorías habituales antes de la serialización. La transformación es pura (sin relojes, sin aleatoriedad), por lo que un paquete es estable byte a byte para una entrada dada:
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Audit\DefaultPiiSanitiser;
$scrubber = new DefaultPiiSanitiser();// E-mail → [EMAIL], IPv4 → [IPV4], IPv6 → [IPV6], X.500 DN attributes// beyond CN → keyword preserved, value [REDACTED]. Deterministic.$safe = $scrubber->sanitise($rawAuditField);Casos límite y trampas
Sección titulada «Casos límite y trampas»- El depurador es de mejor esfuerzo, no una garantía.
DefaultPiiSanitiserenmascara las categorías que conoce (correo electrónico RFC 5321, IPv4/IPv6, varios atributos DN de RFC 4514). Un campo de texto libre que contenga un nombre o un identificador que los patrones no reconozcan no se enmascara. Debe tratarse como una capa de defensa en profundidad, no como un control de cumplimiento que elimine la obligación de revisión del operador. - Los archivos temporales son asunto del despliegue. El motor utiliza una gestión segura de archivos temporales. Dónde reside
TMPDIRy siTMPDIRestá en almacenamiento cifrado en la jurisdicción correcta es una decisión de despliegue. La biblioteca no puede imponer la residencia de datos. - La telemetría es opcional y saneada, no exenta de riesgo. Cuando se conecta, el interceptor de OpenTelemetry pasa los atributos de los spans por un saneador de atributos que impone una política de datos de confianza cero. El backend al que se exporta, junto con su retención y ubicación, corresponde por completo al integrador.
- La base legal no es una decisión de la biblioteca. La licitud del tratamiento de un documento determinado, y la base aplicable, las determina el responsable del tratamiento conforme al RGPD o a la legislación local (
eu_gdpr#x50); la biblioteca no tiene visibilidad sobre ello.
Rendimiento
Sección titulada «Rendimiento»El depurador de PII es un conjunto de transformaciones de regex puras, sin E/S. La comprobación que hace el interceptor de telemetría sobre la presencia del SDK se realiza una sola vez en la construcción y se almacena en caché. Cuando no hay ningún SDK instalado, cada llamada de telemetría se completa en menos de un microsegundo, por lo que el comportamiento predeterminado que preserva la privacidad (telemetría desactivada) es también el comportamiento predeterminado sin sobrecarga.
Notas de seguridad
Sección titulada «Notas de seguridad»Reglas del límite de tratamiento de datos, reformuladas para revisión:
- Sin salida encubierta. El motor no transmite ningún contenido de documento a ningún endpoint operado por NextPDF. El acceso de red saliente solo se produce en las descargas de recursos habilitadas de forma explícita y restringidas por esquema, y en los endpoints TSA/OCSP/CRL configurados, todos bajo protección contra SSRF.
- Depuración determinista y acotada. La transformación de PII del paquete de auditoría es determinista y se aplica antes de la serialización; es una ayuda de minimización en el sentido del Art. 32 del RGPD (
eu_gdpr#x50), no una certificación de anonimización. - La residencia es del integrador. El inventario y el mapeo de dónde se procesan los datos es una actividad organizativa según el NIST Privacy Framework (
nist_privacy_framework_1_1#x9.x1.p3); la biblioteca expone los controles; el integrador realiza el mapeo. - Los roles son externos. Determinar si el despliegue actúa como responsable del tratamiento o como encargado del tratamiento, y qué obligaciones se derivan de ello, es una determinación de rol de ISO/IEC 29100 (
iso_iec_29100#3.x56) que la biblioteca no puede tomar.
Conformidad
Sección titulada «Conformidad»Esta página no es un perfil de conformidad. Hace referencia al Art. 32 del RGPD, a ISO/IEC 29100 y al NIST Privacy Framework para situar el límite entre el comportamiento de la biblioteca y la responsabilidad del responsable del tratamiento; no afirma cumplimiento del RGPD, conformidad con ISO/IEC 29100 ni ninguna certificación de privacidad. Esas determinaciones las toma el responsable del tratamiento a nivel de despliegue, no la biblioteca.