Обработка данных, PII и телеметрия
На этой странице описано, как ядро движка обрабатывает данные: что оно читает, что хранит в памяти процесса, что записывает, какое детерминированное преобразование очистки персональных данных (PII) применяет к диагностическим пакетам аудита и как устроен подключаемый по запросу путь телеметрии.
Граница. На этой странице описано поведение библиотеки. Размещение данных на уровне развёртывания определяет, в какой юрисдикции обрабатываются ваши документы, где хранятся временные файлы, как долго сохраняется результат и какой бэкенд телеметрии, если он есть, получает интервалы трассировки. Эти решения — зона ответственности интегратора, а не библиотеки. Движок предоставляет вам безопасные по умолчанию настройки (fail-closed) и преобразование очистки. Он не может принять за вас решение о размещении данных или о правовом основании.
Установка
Заголовок раздела «Установка»composer require nextpdf/core:^3Очиститель PII и перехватчик телеметрии входят в пакет ядра. Путь телеметрии остаётся неактивным, пока не установлен SDK OpenTelemetry и вызывающая сторона не подключит перехватчик.
Концептуальный обзор
Заголовок раздела «Концептуальный обзор»Движок выступает как обработчик передаваемых ему данных в смысле ISO/IEC 29100 (iso_iec_29100#3.x56): он работает с содержимым документа по указанию интегратора. Он не отправляет данные обратно разработчику, не сохраняет содержимое сверх запрошенного вами результата и не передаёт содержимое документа ни на одну управляемую NextPDF конечную точку.
Значимы три точки соприкосновения с данными:
- Ввод-вывод документа input/output (I/O). Движок читает входные данные из указанного вами пути или потока и записывает результат в указанный вами путь или поток. Промежуточные буферы хранятся в памяти процесса во время отрисовки и освобождаются после её завершения.
- Диагностические пакеты аудита. Когда аудит включён, движок может выпустить диагностический пакет. Перед сериализацией этот пакет проходит через детерминированный очиститель PII.
- Телеметрия. Необязательный перехватчик OpenTelemetry может выпускать интервалы трассировки и метрики. Он остаётся отключённым, пока не установлен SDK и не создан перехватчик; атрибуты интервалов трассировки проходят через очиститель атрибутов.
Подход к конфиденциальности следует принципу GDPR ст. 32: псевдонимизация и минимизация считаются примерами защитных мер. Применение этих мер — обязанность контролёра (eu_gdpr#x50). Библиотека предоставляет механизм очистки. Контролёр определяет правовое основание, срок хранения и размещение данных.
Поверхность API
Заголовок раздела «Поверхность API»Эта страница не повторяет документацию 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 не установлен, каждый вызов телеметрии завершается менее чем за микросекунду, поэтому сохраняющая конфиденциальность настройка по умолчанию (телеметрия отключена) одновременно остаётся настройкой по умолчанию с нулевыми накладными расходами.
Примечания по безопасности
Заголовок раздела «Примечания по безопасности»Для проверяющих правила границ обработки данных таковы:
- Никакой скрытой отправки данных. Движок не передаёт содержимое документа ни на одну управляемую NextPDF конечную точку. Исходящий сетевой доступ происходит только при явно включённых, ограниченных по схеме загрузках ресурсов и при обращении к настроенным конечным точкам службы меток времени (TSA), протокола интерактивного статуса сертификата (OCSP) и списка отозванных сертификатов (CRL), каждая из которых защищена ограждением от подделки запросов на стороне сервера (SSRF).
- Детерминированная, ограниченная очистка. Преобразование PII диагностического пакета аудита детерминированно и выполняется перед сериализацией. Это вспомогательное средство минимизации в духе GDPR ст. 32 (
eu_gdpr#x50), а не сертификация анонимизации. - Размещение данных — задача интегратора. Инвентаризация и картирование мест обработки данных — организационные мероприятия согласно NIST Privacy Framework (
nist_privacy_framework_1_1#x9.x1.p3); библиотека предоставляет средства управления, а картирование выполняет интегратор. - Роли определяются вовне. Является ли развёртывание контролёром или обработчиком и какие обязательства из этого следуют, — это определение роли по ISO/IEC 29100 (
iso_iec_29100#3.x56), которое библиотека не может выполнить.
Соответствие
Заголовок раздела «Соответствие»Это не профиль соответствия. На этой странице упоминаются GDPR ст. 32, ISO/IEC 29100 и NIST Privacy Framework, чтобы обозначить границу между поведением библиотеки и ответственностью контролёра. Она не утверждает соблюдение GDPR, соответствие ISO/IEC 29100 или какую-либо сертификацию конфиденциальности. Эти решения принимает контролёр данных на уровне развёртывания, а не библиотека.