Перейти к содержимому

Обработка данных, PII и телеметрия

На этой странице описано, как ядро движка обрабатывает данные: что оно читает, что хранит в памяти процесса, что записывает, какое детерминированное преобразование очистки персональных данных (PII) применяет к диагностическим пакетам аудита и как устроен подключаемый по запросу путь телеметрии.

Граница. На этой странице описано поведение библиотеки. Размещение данных на уровне развёртывания определяет, в какой юрисдикции обрабатываются ваши документы, где хранятся временные файлы, как долго сохраняется результат и какой бэкенд телеметрии, если он есть, получает интервалы трассировки. Эти решения — зона ответственности интегратора, а не библиотеки. Движок предоставляет вам безопасные по умолчанию настройки (fail-closed) и преобразование очистки. Он не может принять за вас решение о размещении данных или о правовом основании.

Окно терминала
composer require nextpdf/core:^3

Очиститель PII и перехватчик телеметрии входят в пакет ядра. Путь телеметрии остаётся неактивным, пока не установлен SDK OpenTelemetry и вызывающая сторона не подключит перехватчик.

Движок выступает как обработчик передаваемых ему данных в смысле ISO/IEC 29100 (iso_iec_29100#3.x56): он работает с содержимым документа по указанию интегратора. Он не отправляет данные обратно разработчику, не сохраняет содержимое сверх запрошенного вами результата и не передаёт содержимое документа ни на одну управляемую NextPDF конечную точку.

Значимы три точки соприкосновения с данными:

  1. Ввод-вывод документа input/output (I/O). Движок читает входные данные из указанного вами пути или потока и записывает результат в указанный вами путь или поток. Промежуточные буферы хранятся в памяти процесса во время отрисовки и освобождаются после её завершения.
  2. Диагностические пакеты аудита. Когда аудит включён, движок может выпустить диагностический пакет. Перед сериализацией этот пакет проходит через детерминированный очиститель PII.
  3. Телеметрия. Необязательный перехватчик OpenTelemetry может выпускать интервалы трассировки и метрики. Он остаётся отключённым, пока не установлен SDK и не создан перехватчик; атрибуты интервалов трассировки проходят через очиститель атрибутов.

Подход к конфиденциальности следует принципу GDPR ст. 32: псевдонимизация и минимизация считаются примерами защитных мер. Применение этих мер — обязанность контролёра (eu_gdpr#x50). Библиотека предоставляет механизм очистки. Контролёр определяет правовое основание, срок хранения и размещение данных.

Эта страница не повторяет документацию API аудита или телеметрии (см. /modules/core/audit/). С точки зрения доверия важны два компонента: очиститель PII по умолчанию, применяемый к диагностическим пакетам аудита, и очиститель атрибутов перехватчика OpenTelemetry. Разделы ниже описывают их действие, а не сигнатуры.

По умолчанию ничто не покидает процесс, пока вы об этом не попросите. Никакой код не включает исходящий сетевой трафик; отсутствие кода и есть поведение по умолчанию:

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

Когда формируется диагностический пакет аудита, детерминированный очиститель PII перед сериализацией маскирует распространённые категории. Преобразование чистое (без часов, без случайности), поэтому для одного и того же входа пакет побайтово стабилен:

<?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);
  • Очиститель работает по принципу максимальных усилий, а не гарантии. DefaultPiiSanitiser маскирует известные ему категории: адреса электронной почты RFC 5321, IPv4/IPv6 и несколько атрибутов отличительного имени (DN) по RFC 4514. Поле свободного текста, содержащее имя или идентификатор вне этих шаблонов, не маскируется. Рассматривайте очиститель как уровень эшелонированной защиты, а не как меру соответствия, которая снимает с оператора обязанность проверки.
  • Временные файлы — забота развёртывания. Движок безопасно обрабатывает временные файлы. Где находится ваш TMPDIR и находится ли TMPDIR на зашифрованном хранилище в нужной юрисдикции — решения уровня развёртывания. Библиотека не может обеспечить соблюдение требований к размещению данных.
  • Телеметрия подключается по запросу и очищается, но риск не исключён. После подключения перехватчик OpenTelemetry пропускает атрибуты интервалов трассировки через очиститель атрибутов, который применяет политику данных с нулевым доверием. Бэкенд, в который вы экспортируете данные, а также срок их хранения и местоположение полностью выбирает интегратор.
  • Правовое основание не определяется библиотекой. Контролёр определяет, является ли обработка конкретного документа законной и на каком основании, согласно GDPR / местному законодательству (eu_gdpr#x50); библиотека не имеет доступа к этому контексту.

Очиститель PII использует чистые преобразования на регулярных выражениях без операций ввода-вывода. Перехватчик телеметрии один раз при создании проверяет наличие SDK и кэширует результат. Когда SDK не установлен, каждый вызов телеметрии завершается менее чем за микросекунду, поэтому сохраняющая конфиденциальность настройка по умолчанию (телеметрия отключена) одновременно остаётся настройкой по умолчанию с нулевыми накладными расходами.

Для проверяющих правила границ обработки данных таковы:

  1. Никакой скрытой отправки данных. Движок не передаёт содержимое документа ни на одну управляемую NextPDF конечную точку. Исходящий сетевой доступ происходит только при явно включённых, ограниченных по схеме загрузках ресурсов и при обращении к настроенным конечным точкам службы меток времени (TSA), протокола интерактивного статуса сертификата (OCSP) и списка отозванных сертификатов (CRL), каждая из которых защищена ограждением от подделки запросов на стороне сервера (SSRF).
  2. Детерминированная, ограниченная очистка. Преобразование PII диагностического пакета аудита детерминированно и выполняется перед сериализацией. Это вспомогательное средство минимизации в духе GDPR ст. 32 (eu_gdpr#x50), а не сертификация анонимизации.
  3. Размещение данных — задача интегратора. Инвентаризация и картирование мест обработки данных — организационные мероприятия согласно NIST Privacy Framework (nist_privacy_framework_1_1#x9.x1.p3); библиотека предоставляет средства управления, а картирование выполняет интегратор.
  4. Роли определяются вовне. Является ли развёртывание контролёром или обработчиком и какие обязательства из этого следуют, — это определение роли по ISO/IEC 29100 (iso_iec_29100#3.x56), которое библиотека не может выполнить.

Это не профиль соответствия. На этой странице упоминаются GDPR ст. 32, ISO/IEC 29100 и NIST Privacy Framework, чтобы обозначить границу между поведением библиотеки и ответственностью контролёра. Она не утверждает соблюдение GDPR, соответствие ISO/IEC 29100 или какую-либо сертификацию конфиденциальности. Эти решения принимает контролёр данных на уровне развёртывания, а не библиотека.