Pular para o conteúdo

Tratamento de dados, PII e telemetria

Esta página descreve como o motor principal trata os dados: o que ele lê, o que mantém na memória do processo, o que grava, a transformação determinística de remoção de informações de identificação pessoal (PII) aplicada aos pacotes de auditoria e o caminho opcional de telemetria.

Limite. Esta página descreve o comportamento da biblioteca. A residência de dados em nível de implantação abrange qual jurisdição processa os documentos, onde os arquivos temporários são armazenados, por quanto tempo a saída é retida e qual backend de telemetria, se houver, recebe os spans. Essas escolhas são responsabilidade do integrador, não da biblioteca. O motor fornece padrões que falham de modo seguro (fail-closed) e uma transformação de remoção. Ele não pode decidir por você a residência de dados nem a base legal.

Terminal window
composer require nextpdf/core:^3

O removedor de PII e o interceptador de telemetria fazem parte do pacote core. O caminho de telemetria permanece inerte, a menos que um SDK do OpenTelemetry esteja presente e o código chamador conecte o interceptador.

O motor atua como um operador dos dados que você lhe entrega, no sentido da ISO/IEC 29100 (iso_iec_29100#3.x56): ele processa o conteúdo do documento conforme as instruções do integrador. Ele não envia comunicação de volta à origem, não persiste conteúdo além da saída que você solicita nem transmite o conteúdo do documento para qualquer endpoint operado pela NextPDF.

Há três superfícies de dados relevantes:

  1. Entrada/saída (I/O) de documentos input/output. O motor lê a entrada a partir do caminho ou fluxo (stream) que você fornece e grava a saída no caminho ou fluxo informado. Os buffers intermediários permanecem na memória do processo durante a renderização e são liberados quando ela é concluída.
  2. Pacotes de auditoria. Quando a auditoria está habilitada, o motor pode emitir um pacote de diagnóstico. Antes da serialização, esse pacote passa por um removedor de PII determinístico.
  3. Telemetria. Um interceptador opcional do OpenTelemetry pode emitir spans e métricas. Ele permanece desativado, a menos que o SDK esteja instalado e o interceptador seja construído; os atributos do span passam por um sanitizador de atributos.

A postura de privacidade segue o princípio do Art. 32 do GDPR, segundo o qual a pseudonimização e a minimização são exemplos de salvaguardas. Aplicar essas salvaguardas é responsabilidade do controlador (eu_gdpr#x50). A biblioteca fornece o mecanismo de remoção. O controlador decide a base legal, a retenção e a residência.

Esta página não documenta novamente as APIs de auditoria ou de telemetria (consulte /modules/core/audit/). Os componentes relevantes para confiança são o sanitizador de PII padrão aplicado aos pacotes de auditoria e o sanitizador de atributos do interceptador do OpenTelemetry. As seções abaixo descrevem os efeitos deles, não as assinaturas.

Por padrão, nada sai do processo, a menos que você solicite. Nenhum código habilita saída de rede; a ausência desse código é o padrão:

<?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');

Quando um pacote de auditoria é produzido, o removedor de PII determinístico mascara categorias comuns antes da serialização. A transformação é pura (sem relógios, sem aleatoriedade), portanto um pacote é estável em nível de byte para determinada entrada:

<?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);
  • O removedor funciona em regime de melhor esforço, não como garantia. O DefaultPiiSanitiser mascara as categorias que conhece: e-mail conforme a RFC 5321, IPv4/IPv6 e diversos atributos de distinguished name (DN) da RFC 4514. Um campo de texto livre que contém um nome ou um identificador fora desses padrões não é mascarado. Trate o removedor como uma camada de defesa em profundidade, não como um controle de conformidade que elimina o dever de revisão do operador.
  • Os arquivos temporários são uma preocupação da implantação. O motor usa tratamento seguro de arquivos temporários. A localização do TMPDIR e se o TMPDIR está em armazenamento criptografado na jurisdição correta são decisões de implantação. A biblioteca não pode impor a residência de dados.
  • A telemetria é opcional e sanitizada, não isenta de risco. Quando está conectado, o interceptador do OpenTelemetry passa os atributos do span por um sanitizador de atributos que impõe uma política de dados de confiança zero (zero-trust). O backend para o qual você exporta, bem como sua retenção e localização, são escolhas inteiramente do integrador.
  • A base legal não é uma decisão da biblioteca. O controlador determina se o processamento de um determinado documento é lícito, e em que base, sob o GDPR / a legislação local (eu_gdpr#x50); a biblioteca não tem visibilidade sobre isso.

O removedor de PII usa transformações puras de regex, sem I/O. O interceptador de telemetria verifica a presença do SDK uma vez na construção e armazena o resultado em cache. Quando nenhum SDK está instalado, cada chamada de telemetria é concluída em tempo inferior a um microssegundo, de modo que o padrão que preserva a privacidade (telemetria desativada) também é o padrão de custo zero.

Para os revisores, as regras de limite do tratamento de dados são:

  1. Nenhuma saída oculta. O motor não transmite nenhum conteúdo de documento para qualquer endpoint operado pela NextPDF. O acesso de rede de saída ocorre somente em buscas de recursos explicitamente habilitadas e restritas por esquema e nos endpoints configurados de time-stamp authority (TSA), Online Certificate Status Protocol (OCSP) e certificate revocation list (CRL), cada um protegido pela guarda contra server-side request forgery (SSRF).
  2. Remoção determinística e limitada. A transformação de PII do pacote de auditoria é determinística e é executada antes da serialização. Ela é um auxílio de minimização no espírito do Art. 32 do GDPR (eu_gdpr#x50), não uma certificação de anonimização.
  3. A residência cabe ao integrador. O inventário e o mapeamento de onde os dados são processados são atividades organizacionais conforme o NIST Privacy Framework (nist_privacy_framework_1_1#x9.x1.p3); a biblioteca expõe os controles, e o integrador realiza o mapeamento.
  4. Os papéis são externos. Se a implantação é um controlador ou um operador, e quais obrigações decorrem disso, é uma determinação de papel da ISO/IEC 29100 (iso_iec_29100#3.x56) que a biblioteca não pode fazer.

Este não é um perfil de conformidade. Esta página faz referência ao Art. 32 do GDPR, à ISO/IEC 29100 e ao NIST Privacy Framework para localizar o limite entre o comportamento da biblioteca e a responsabilidade do controlador. Ela não afirma conformidade com o GDPR, conformidade com a ISO/IEC 29100 ou qualquer certificação de privacidade. O controlador de dados faz essas determinações em nível de implantação, não a biblioteca.