Enterprise edición
Privacidad
De un vistazo
Sección titulada «De un vistazo»NextPDF Enterprise Privacy detecta el texto que coincide con patrones de PII configurados y o bien lo redacta, o suprime las líneas que lo contienen, o lo sustituye por seudónimos deterministas reversibles respaldados por un mapa cifrado en reposo. Elimina el contenido que coincide con las reglas configuradas tal como se ha probado. No garantiza la eliminación completa de la PII y no es una declaración de cumplimiento normativo.
Disponibilidad y licencias
Sección titulada «Disponibilidad y licencias»Esta capacidad se incluye en NextPDF Enterprise (nextpdf/enterprise) y se activa con un envoltorio de licencia de nivel Enterprise. Un despliegue sin ese derecho de uso no carga las clases de la capacidad. Comparar ediciones y obtener una licencia.
Instalación
Sección titulada «Instalación»composer require nextpdf/enterprise:^3Descripción conceptual
Sección titulada «Descripción conceptual»La detección se basa en patrones. Un detector analiza el texto frente a un registro de patrones de expresión regular e incluye patrones integrados para direcciones de correo electrónico, números de teléfono, números de la Seguridad Social de los Estados Unidos, números de tarjeta de crédito y números de identificación nacional de Taiwán. Un despliegue puede registrar patrones adicionales. La detección encuentra únicamente los tipos configurados; un valor que no coincide con ningún patrón no se detecta, y una página escaneada sin capa de texto no produce coincidencias.
Una directiva de redacción controla el comportamiento. En el modo de solo detección, el motor devuelve los hallazgos sin cambiar el contenido. En el modo de redacción, sustituye cada span coincidente por una caja negra, una caja blanca o una sustitución de texto. El de-identificador añade una estrategia de supresión que elimina las líneas completas que contienen una coincidencia en lugar de enmascarar spans individuales. Cada ejecución devuelve el SHA-256 del texto original, el contenido modificado, un informe detallado y un indicador de modificado.
La seudonimización es reversible por diseño. El motor sustituye las entidades detectadas por seudónimos deterministas y conscientes del formato derivados de un HMAC sobre el valor original y una semilla por sesión, de modo que el mismo valor se asigna de forma coherente dentro de una sesión, mientras que entre sesiones los tokens no se correlacionan por igualdad determinista. El mapa de original a seudónimo se serializa y se cifra en reposo con AES-256-GCM y una clave versionada, lo que admite la rotación de claves. La rehidratación restaura los valores originales, pero solo con la clave correcta y el mapa cifrado coincidente; sin ellos, los valores originales no se pueden recuperar solo a partir del texto seudonimizado.
Estas operaciones implementan la de-identificación, que elimina la asociación entre los datos y la persona —ISO/IEC 29100:2024 §2—. La seudonimización sustituye un identificador por un alias y es, por definición, reversible con el mapeo guardado por separado —ISO/IEC 29100:2024 §2—. La anonimización busca impedir de forma irreversible la identificación —ISO/IEC 29100:2024 §2—; esta superficie de Enterprise realiza redacción acotada por patrones, supresión y seudonimización reversible, no anonimización. El riesgo residual de reidentificación depende de los atributos que permanecen tras la de-identificación —ISO/IEC 29100:2024 §2—, y la de-identificación reduce pero no elimina ese riesgo —ISO/IEC 29151:2017—. Trate la salida como contenido que coincide con las reglas configuradas eliminado o sustituido tal como se ha probado, no como una garantía de eliminación completa de la PII, de irreversibilidad ni de cumplimiento normativo.
Por qué funciona así
Sección titulada «Por qué funciona así»La reversibilidad es la decisión determinante. Los seudónimos son salidas de HMAC-SHA256 sobre el valor original y una semilla por sesión, de modo que el mismo valor se asigna al mismo token a lo largo de una sesión y las relaciones internas del documento se conservan. Una semilla aleatoria nueva por sesión significa que el mismo valor no se asigna al mismo token entre sesiones, por lo que los seudónimos no se correlacionan por igualdad determinista de tokens entre sesiones, lo que reduce la vinculabilidad determinista sin una búsqueda central. El mapeo se conserva deliberadamente —cifrado en reposo con AES-256-GCM— para que una rehidratación autorizada pueda restaurar los originales; esa reversibilidad es lo que hace que esto sea seudonimización según ISO/IEC 29100:2024 §2, no anonimización. Se acepta el compromiso: el mapa cifrado, no el texto seudonimizado, se convierte en el artefacto sensible, por lo que la confidencialidad se reduce a la custodia de la clave. Los tokens conscientes del formato preservan la forma de cada entidad, de modo que los analizadores posteriores siguen funcionando, a costa de que los validadores de sumas de verificación puedan rechazar un valor con forma pero sintético.
Antecedentes de diseño: La redacción no es un rectángulo negro.
Superficie de la API
Sección titulada «Superficie de la API»| Type | Kind | Role | Stability | Since |
|---|---|---|---|---|
PiiDetector | clase | Detección de PII basada en patrones; admite el registro de patrones personalizados | stable | 2.2.0 |
RedactionEngine | clase | Redacción de texto de solo detección o destructiva según la directiva | stable | 2.2.0 |
DeIdentifier | clase | Despacho de estrategia de redacción o de supresión de líneas | stable | 2.2.0 |
RedactionPolicy | clase | Tipos de entidad objetivo, interruptor de redacción, estilo de sustitución | stable | 2.2.0 |
PseudonymizationEngine | clase | Sustitución de seudónimos determinista y consciente del formato | stable | 2.2.0 |
PrivacyGateway | clase | Seudonimizar/rehidratar con alcance de documento y auditoría | stable | 2.2.0 |
RehydrationService | clase | Restaura los originales a partir de un mapa cifrado | stable | 2.2.0 |
EncryptedMapSerializer | clase | Serialización del mapa en reposo con AES-256-GCM y versionado de claves | stable | 2.2.0 |
PrivacyAuditTrail | clase | Registro de solo adición de las operaciones de seudonimizar/rehidratar | stable | 2.2.0 |
EntityType / RedactionStyle / DeIdentificationStrategy | enums | Vocabulario de entidad, estilo y estrategia | stable | 2.2.0 |
La pista de auditoría es de solo adición por contrato: registra un id de sesión, la operación, el recuento de entidades, un hash de directiva, una marca de tiempo y un id de inquilino. No registra los valores detectados.
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Privacy\PiiDetector;use NextPDF\Enterprise\Privacy\RedactionEngine;use NextPDF\Enterprise\Privacy\RedactionPolicy;
/** * Redact every configured entity type from text content. * * @param string $content The text to process. * * @return string The redacted text. */function redactAll(string $content): string{ $engine = new RedactionEngine(new PiiDetector());
return $engine->redact($content, RedactionPolicy::allEntities()) ->redactedContent;}RedactionPolicy::allEntities() apunta a los tipos integrados. Un valor que no coincide con ningún patrón configurado no se redacta.
Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Privacy\PrivacyGateway;use NextPDF\Enterprise\Privacy\PrivacyPolicy;use NextPDF\Enterprise\Privacy\EntityType;use Psr\Log\LoggerInterface;
final readonly class DocumentDeidentifier{ public function __construct( private PrivacyGateway $gateway, private LoggerInterface $logger, ) {}
/** * Pseudonymize a document and return the encrypted reversal map. * * @param non-empty-string $text Document text. * @param list<array{text: non-empty-string, type: EntityType}> $entities Detected entities. * * @return array{text: string, encrypted_map: non-empty-string} */ public function process(string $text, array $entities): array { $policy = PrivacyPolicy::piiOnly('session-' . bin2hex(random_bytes(6))); $result = $this->gateway->pseudonymize($text, $entities, $policy);
$this->logger->info('Pseudonymization complete', [ 'entityCount' => $result['entity_count'], ]);
return ['text' => $result['text'], 'encrypted_map' => $result['encrypted_map']]; }}El registro lleva únicamente un recuento. No lleva el texto del documento, los valores detectados ni el mapa cifrado.
Casos límite y aspectos a tener en cuenta
Sección titulada «Casos límite y aspectos a tener en cuenta»- La detección está acotada por patrones. Un valor que no coincide con ningún patrón no se detecta. El motor no afirma que se encuentren todos los datos personales, y el resultado no es una garantía de eliminación completa de la PII.
- Las páginas escaneadas no tienen capa de texto. La detección de patrones de texto no produce coincidencias; combínela con la superficie de capas con búsqueda de Intelligence si primero se requiere texto.
- La seudonimización es reversible por definición. Cualquiera con la clave correcta y el mapa cifrado coincidente puede restaurar los originales. Esto no es anonimización; no presente la salida seudonimizada como irreversible.
- Los seudónimos conscientes del formato preservan una forma (por ejemplo, un token con aspecto de ID o de correo electrónico). Un sistema posterior que valide sumas de verificación puede rechazar un seudónimo; eso es lo esperado.
- El mapa cifrado es el artefacto sensible. Perderlo hace imposible la rehidratación; filtrarlo junto con su clave hace que la seudonimización sea reversible por un tercero. Trate la custodia de la clave y el almacenamiento del mapa como una responsabilidad del despliegue.
- La redacción opera sobre el contenido de texto que se le pasa. No aplana por sí sola una imagen, no elimina una miniatura ni retira los metadatos del documento; ajuste el pipeline en consecuencia.
Rendimiento
Sección titulada «Rendimiento»El coste de la detección escala con el número de patrones y la longitud del texto. La seudonimización añade un HMAC por cada entidad única y un sellado AES-256-GCM del mapa. El presupuesto de 1500 ms de tiempo cubre un documento de negocio típico. El perfil de reproducibilidad es structural: los seudónimos son deterministas para una semilla fija, pero la marca de tiempo de auditoría y la semilla de sesión aleatoria varían entre ejecuciones, de modo que dos ejecuciones difieren en esos campos.
Notas de seguridad
Sección titulada «Notas de seguridad»El mapa en reposo usa cifrado autenticado. El mapa se sella con AES-256-GCM y una clave versionada; la rehidratación es imposible sin la clave correcta. La generación, la custodia y la rotación de claves son responsabilidad del despliegue; la biblioteca consume una clave, no gestiona un almacén de claves. La pista de auditoría es de solo adición y registra metadatos, nunca los valores detectados. Toda fuente normativa está parafraseada y ninguna se reproduce.
Residencia de datos y mitigaciones de PII
Sección titulada «Residencia de datos y mitigaciones de PII»La detección, la redacción y la seudonimización se ejecutan en proceso en el host. Ningún contenido del documento sale del host para ninguna de estas operaciones. El mapa cifrado y cualquier salida rehidratada son datos personales; dónde se almacenan, y qué jurisdicción los procesa, es una responsabilidad del despliegue ajena a la frontera de la biblioteca. La biblioteca realiza una de-identificación acotada por patrones tal como se ha probado; no certifica el cumplimiento del RGPD, de HIPAA ni de ninguna otra normativa, y no realiza anonimización. El riesgo residual de reidentificación depende de los atributos que permanecen —ISO/IEC 29151:2017—.
Telemetría segura y depuración de registros
Sección titulada «Telemetría segura y depuración de registros»La biblioteca lanza excepciones tipadas con mensajes estructurales y nunca coloca valores detectados, bytes del documento ni el mapa cifrado en el texto de las excepciones. Un despliegue que registre alrededor de esta superficie debe registrar recuentos y el hash de directiva —como se muestra en el ejemplo de producción— y no debe registrar la carga útil del PDF en bruto, el texto de las entidades detectadas ni el mapa de seudónimos en los registros ni en un backend de APM. La pista de auditoría de solo adición es el registro seguro que conservar.
Comportamiento en modo FIPS
Sección titulada «Comportamiento en modo FIPS»El mapa en reposo usa AES-256-GCM a través del proveedor criptográfico de la plataforma. Cuando el host ejecuta un proveedor validado con FIPS, esa operación se ejecuta en la frontera validada. NextPDF Enterprise realiza el ensamblado estructural y no es en sí mismo un módulo criptográfico validado con FIPS y no realiza ninguna afirmación de certificación FIPS.
Conformidad
Sección titulada «Conformidad»| Claim | Standard | Clause |
|---|---|---|
| La de-identificación elimina la asociación entre los datos y la persona. | ISO/IEC 29100:2024 | §2 |
| La seudonimización sustituye un identificador por un alias y es reversible con el mapeo separado. | ISO/IEC 29100:2024 | §2 |
| La anonimización busca impedir de forma irreversible la identificación (esta superficie no anonimiza). | ISO/IEC 29100:2024 | §2 |
| El riesgo residual de reidentificación depende de los atributos que permanecen. | ISO/IEC 29100:2024 | §2 |
| Los controles de privacidad se aplican a la PII. | ISO/IEC 29100:2024 | §6.5 |
| La de-identificación reduce pero no elimina el riesgo residual. | ISO/IEC 29151:2017 | de-identification controls |
| Minimizar la vinculabilidad de los datos de-identificados. | ISO/IEC 29151:2017 | PII minimization |
| Se aplican controles para proteger la PII. | ISO/IEC 29151:2017 | controls |
Todas las cláusulas están parafraseadas. NextPDF no reproduce texto normativo. Consulte los estándares publicados para conocer la redacción autorizada. NextPDF no realiza ninguna afirmación de cumplimiento de normativas de privacidad; esta página expone el comportamiento de de-identificación probado y sus fronteras, no un estado de cumplimiento certificado.
Contrato de comportamiento
Sección titulada «Contrato de comportamiento»- La detección está acotada por patrones: encuentra únicamente los tipos configurados; un valor que no coincide con ningún patrón no se detecta y una página sin capa de texto no produce coincidencias.
- Una directiva de redacción selecciona solo detección, sustitución de span (caja negra / caja blanca / texto) o supresión de línea completa; cada ejecución devuelve el SHA-256 del texto original, el contenido modificado, un informe detallado y un indicador de modificado.
- La seudonimización es reversible por diseño: los seudónimos deterministas derivados de HMAC son coherentes dentro de una sesión, y la rehidratación requiere la versión de clave correcta y el mapa en reposo AES-256-GCM coincidente.
- La pista de auditoría de solo adición registra el id de sesión, la operación, el recuento de entidades, el hash de directiva, la marca de tiempo y el id de inquilino, nunca los valores detectados.
- La salida es contenido que coincide con las reglas configuradas eliminado o sustituido tal como se ha probado, no una garantía de eliminación completa de la PII, de irreversibilidad ni de cumplimiento normativo.
Frontera de publicación
Sección titulada «Frontera de publicación»Esta página documenta únicamente el comportamiento observable desde fuera y la superficie de API pública admitida. Las rutas internas de espacio de nombres, las clases auxiliares, las tablas de mecanismos, los nombres de archivo de runbook y los prefijos de ticket quedan fuera del alcance.
Alternativa de Core
Sección titulada «Alternativa de Core»NextPDF Core (Apache-2.0) no tiene ninguna superficie de detección de PII, redacción ni seudonimización —ninguna; esta capacidad no tiene equivalente en el nivel Core—.
Alternativa de Pro
Sección titulada «Alternativa de Pro»NextPDF Pro incluye una superficie de detección de PII en la capa de texto y enmascaramiento en tiempo de generación; no proporciona la seudonimización reversible, el mapa cifrado en reposo, la supresión de líneas ni la pista de auditoría de solo adición. Estas se incluyen únicamente en el paquete nextpdf/enterprise.
Nota sobre la frontera de Enterprise
Sección titulada «Nota sobre la frontera de Enterprise»La detección, la redacción, la supresión y la seudonimización se describen a nivel de comportamiento. La biblioteca consume una clave de cifrado; no gestiona un almacén de claves, y los detalles internos de la generación, la custodia y la rotación de claves quedan fuera del alcance de la superficie pública.
Frontera de despliegue
Sección titulada «Frontera de despliegue»El mapa cifrado y cualquier salida rehidratada son datos personales; dónde se almacenan y qué jurisdicción los procesa es una responsabilidad del despliegue ajena a la frontera de la biblioteca. La generación, la custodia y la rotación de claves son responsabilidad del despliegue: la biblioteca consume una versión de clave, no gestiona un almacén de claves. Perder el mapa hace imposible la rehidratación; filtrarlo junto con su clave hace que la seudonimización sea reversible por un tercero.
Frontera de cumplimiento legal
Sección titulada «Frontera de cumplimiento legal»El mapa en reposo usa cifrado autenticado. La biblioteca realiza una de-identificación acotada por patrones tal como se ha probado y no certifica el cumplimiento del RGPD, de HIPAA ni de ninguna otra normativa, y no realiza anonimización. Esta documentación no es una opinión legal; consulte a sus propios asesores de cumplimiento y legales.
Consulta también
Sección titulada «Consulta también»- Referencia de Privacy: la superficie de API pública completa del módulo Privacy.
- Pro security: enmascaramiento de Pro y detección de PII en la capa de texto.
- Forensics: análisis de historial de revisiones de solo lectura.
- NextPDF Enterprise: la superficie completa de funciones de Enterprise.
- Privacy policy: el propio tratamiento de datos del programa de documentación.
- PII · Pseudonymization · De-identification · AES-GCM: términos del glosario.