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

Enterprise редакция

Конфиденциальность

NextPDF Enterprise Privacy обнаруживает текст, соответствующий настроенным шаблонам ПДн, и либо редактирует его, либо подавляет строки, которые его содержат, либо заменяет его обратимыми детерминированными псевдонимами, опирающимися на зашифрованную карту в покое. Он удаляет содержимое, соответствующее настроенным правилам, как протестировано. Он не гарантирует полного удаления ПДн и не является заявлением о нормативном соответствии.

Эта возможность поставляется в NextPDF Enterprise (nextpdf/enterprise) и активируется лицензионным конвертом уровня Enterprise. Развёртывание без этого права не загружает классы возможности. Сравните редакции и получите лицензию.

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

Обнаружение основано на шаблонах. Детектор сканирует текст по реестру шаблонов на регулярных выражениях и поставляет встроенные шаблоны для адресов электронной почты, телефонных номеров, номеров социального страхования США, номеров кредитных карт и номеров национального удостоверения личности Тайваня. Развёртывание может зарегистрировать дополнительные шаблоны. Обнаружение находит только настроенные типы; значение, которому не соответствует ни один шаблон, не обнаруживается, а отсканированная страница без текстового слоя не даёт совпадений.

Политика редактирования управляет поведением. В режиме «только обнаружение» движок возвращает замечания, не изменяя содержимого. В режиме редактирования он заменяет каждый совпавший фрагмент чёрным блоком, белым блоком или текстовой заменой. Деидентификатор добавляет стратегию подавления, которая удаляет целые строки, содержащие совпадение, вместо маскирования отдельных фрагментов. Каждый прогон возвращает SHA-256 исходного текста, изменённое содержимое, детализированный отчёт и флаг изменения.

Псевдонимизация по замыслу обратима. Движок заменяет обнаруженные сущности детерминированными псевдонимами, учитывающими формат, полученными как HMAC над исходным значением и сеансовым seed, поэтому одно и то же значение сопоставляется согласованно в пределах сеанса, тогда как в разных сеансах токены не коррелируют по детерминированному равенству. Карта «оригинал — псевдоним» сериализуется и шифруется в покое с помощью AES-256-GCM и версионированного ключа, поддерживая ротацию ключей. Регидратация восстанавливает исходные значения, но только при наличии правильного ключа и соответствующей зашифрованной карты; без них исходные значения нельзя восстановить из одного лишь псевдонимизированного текста.

Эти операции реализуют деидентификацию, которая устраняет связь между данными и человеком — ISO/IEC 29100:2024 §2. Псевдонимизация заменяет идентификатор псевдонимом и по определению обратима при наличии отдельно хранимого сопоставления — ISO/IEC 29100:2024 §2. Анонимизация направлена на необратимое предотвращение идентификации — ISO/IEC 29100:2024 §2; эта поверхность Enterprise выполняет редактирование, подавление и обратимую псевдонимизацию в рамках шаблонов, а не анонимизацию. Остаточный риск повторной идентификации зависит от атрибутов, которые остаются после деидентификации — ISO/IEC 29100:2024 §2, а деидентификация снижает, но не устраняет этот риск — ISO/IEC 29151:2017. Относитесь к выходу как к содержимому, соответствующему настроенным правилам, удалённому или заменённому как протестировано, а не как к гарантии полного удаления ПДн, необратимости или нормативного соответствия.

Обратимость — это несущий выбор. Псевдонимы — это выходы HMAC-SHA256 над исходным значением и сеансовым seed, поэтому одно и то же значение сопоставляется одному и тому же токену на протяжении сеанса, и внутренние связи документа сохраняются. Новый случайный seed на каждый сеанс означает, что одно и то же значение не сопоставляется одному и тому же токену в разных сеансах, поэтому псевдонимы не коррелируют по детерминированному равенству токенов между сеансами, что снижает детерминированную связываемость без центрального поиска. Сопоставление намеренно сохраняется — зашифрованным в покое с помощью AES-256-GCM — чтобы авторизованная регидратация могла восстановить оригиналы; именно эта обратимость делает это псевдонимизацией по ISO/IEC 29100:2024 §2, а не анонимизацией. Компромисс принят: конфиденциальным артефактом становится зашифрованная карта, а не псевдонимизированный текст, поэтому конфиденциальность сводится к хранению ключа. Токены с учётом формата сохраняют форму каждой сущности, поэтому нижестоящие парсеры продолжают работать ценой того, что валидаторы контрольных сумм могут отвергнуть значение правильной формы, но синтетическое.

Предыстория дизайна: Редактирование — это не чёрный прямоугольник.

ТипВидРольСтабильностьНачиная с
PiiDetectorклассОбнаружение ПДн на основе шаблонов; поддерживает регистрацию пользовательских шаблоновстабильный2.2.0
RedactionEngineклассРедактирование текста только для обнаружения или с изменением по политикестабильный2.2.0
DeIdentifierклассДиспетчеризация стратегии редактирования или подавления строкстабильный2.2.0
RedactionPolicyклассЦелевые типы сущностей, переключатель редактирования, стиль заменыстабильный2.2.0
PseudonymizationEngineклассДетерминированная замена псевдонимами с учётом форматастабильный2.2.0
PrivacyGatewayклассПсевдонимизация/регидратация в рамках документа с аудитомстабильный2.2.0
RehydrationServiceклассВосстанавливает оригиналы из зашифрованной картыстабильный2.2.0
EncryptedMapSerializerклассСериализация карты в покое AES-256-GCM с версионированием ключастабильный2.2.0
PrivacyAuditTrailклассЖурнал операций псевдонимизации/регидратации только для добавлениястабильный2.2.0
EntityType / RedactionStyle / DeIdentificationStrategyперечисленияСловарь сущностей, стилей и стратегийстабильный2.2.0

Журнал аудита по контракту работает только на добавление: он записывает идентификатор сеанса, операцию, число сущностей, хеш политики, метку времени и идентификатор арендатора. Он не записывает обнаруженных значений.

Detect and redact configured PII
<?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() нацеливается на встроенные типы. Значение, которому не соответствует ни один настроенный шаблон, не редактируется.

Reversible pseudonymization with audit and safe logging
<?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']];
}
}

Запись в журнале несёт только счётчик. Она не содержит текста документа, обнаруженных значений или зашифрованной карты.

  • Обнаружение ограничено шаблонами. Значение, которому не соответствует ни один шаблон, не обнаруживается. Движок не утверждает, что найдены все персональные данные, и результат не является гарантией полного удаления ПДн.
  • У отсканированных страниц нет текстового слоя. Обнаружение по текстовым шаблонам не даёт совпадений; при необходимости сначала получить текст комбинируйте с поверхностью слоя с возможностью поиска из Intelligence.
  • Псевдонимизация по определению обратима. Любой, у кого есть правильный ключ и соответствующая зашифрованная карта, может восстановить оригиналы. Это не анонимизация; не представляйте псевдонимизированный вывод как необратимый.
  • Псевдонимы с учётом формата сохраняют форму (например, токен, похожий на ID или адрес электронной почты). Нижестоящая система, проверяющая контрольные суммы, может отвергнуть псевдоним; это ожидаемо.
  • Зашифрованная карта — это конфиденциальный артефакт. Её потеря делает регидратацию невозможной; её утечка вместе с ключом делает псевдонимизацию обратимой третьей стороной. Относитесь к хранению ключа и карты как к обязанности развёртывания.
  • Редактирование действует на переданное ему текстовое содержимое. Само по себе оно не уплощает изображение, не удаляет миниатюру и не вырезает метаданные документа; настраивайте конвейер соответственно.

Стоимость обнаружения растёт с числом шаблонов и длиной текста. Псевдонимизация добавляет один HMAC на уникальную сущность и одно запечатывание карты AES-256-GCM. Бюджет времени в 1500 мс покрывает типичный бизнес-документ. Профиль воспроизводимости — structural: псевдонимы детерминированы для фиксированного seed, но метка времени аудита и случайный сеансовый seed различаются между прогонами, поэтому два прогона различаются в этих полях.

Карта в покое использует аутентифицированное шифрование. Карта запечатывается с помощью AES-256-GCM и версионированного ключа; регидратация невозможна без правильной версии ключа. Генерация, хранение и ротация ключей — обязанность развёртывания; библиотека потребляет ключ, она не управляет хранилищем ключей. Журнал аудита работает только на добавление и записывает метаданные, никогда не обнаруженные значения. Каждый нормативный источник приведён в пересказе, и ни один не воспроизводится.

Обнаружение, редактирование и псевдонимизация выполняются внутри процесса на хосте. Для любой из этих операций содержимое документа не покидает хост. Зашифрованная карта и любой регидратированный вывод — это персональные данные; где они хранятся и какая юрисдикция их обрабатывает, является обязанностью развёртывания за пределами границы библиотеки. Библиотека выполняет деидентификацию в рамках шаблонов как протестировано; она не сертифицирует соответствие GDPR, HIPAA или любому другому нормативному требованию и не выполняет анонимизации. Остаточный риск повторной идентификации зависит от атрибутов, которые остаются — ISO/IEC 29151:2017.

Безопасная телеметрия и очистка журналов

Заголовок раздела «Безопасная телеметрия и очистка журналов»

Библиотека выбрасывает типизированные исключения со структурными сообщениями и никогда не помещает обнаруженные значения, байты документа или зашифрованную карту в текст исключений. Развёртывание, которое ведёт журналы вокруг этой поверхности, должно записывать счётчики и хеш политики — как показано в примере для рабочей среды — и не должно записывать необработанные данные PDF, текст обнаруженных сущностей или карту псевдонимов в журналы или в APM-бэкенд. Журнал аудита только для добавления — это безопасная запись для сохранения.

Карта в покое использует AES-256-GCM через криптопровайдер платформы. Когда хост работает с провайдером, валидированным по FIPS, эта операция выполняется в валидированной границе. NextPDF Enterprise выполняет структурную сборку и сам не является валидированным по FIPS криптографическим модулем и не делает заявлений о сертификации FIPS.

УтверждениеСтандартПункт
Деидентификация устраняет связь между данными и человеком.ISO/IEC 29100:2024§2
Псевдонимизация заменяет идентификатор псевдонимом и обратима при наличии отдельного сопоставления.ISO/IEC 29100:2024§2
Анонимизация направлена на необратимое предотвращение идентификации (эта поверхность не анонимизирует).ISO/IEC 29100:2024§2
Остаточный риск повторной идентификации зависит от оставшихся атрибутов.ISO/IEC 29100:2024§2
Меры защиты конфиденциальности применяются к ПДн.ISO/IEC 29100:2024§6.5
Деидентификация снижает, но не устраняет остаточный риск.ISO/IEC 29151:2017de-identification controls
Минимизация связываемости деидентифицированных данных.ISO/IEC 29151:2017PII minimization
Меры применяются для защиты ПДн.ISO/IEC 29151:2017controls

Все пункты приведены в пересказе. NextPDF не воспроизводит нормативный текст. За авторитетной формулировкой обращайтесь к опубликованным стандартам. NextPDF не делает заявлений о соответствии нормам защиты конфиденциальности; на этой странице описано протестированное поведение деидентификации и его границы, а не сертифицированный статус соответствия.

  • Обнаружение ограничено шаблонами: оно находит только настроенные типы; значение, которому не соответствует ни один шаблон, не обнаруживается, а страница без текстового слоя не даёт совпадений.
  • Политика редактирования выбирает «только обнаружение», замену фрагмента (чёрный блок / белый блок / текст) или подавление целых строк; каждый прогон возвращает SHA-256 исходного текста, изменённое содержимое, детализированный отчёт и флаг изменения.
  • Псевдонимизация по замыслу обратима: детерминированные псевдонимы, полученные через HMAC, согласованы в пределах сеанса, а регидратация требует правильной версии ключа и соответствующей карты в покое AES-256-GCM.
  • Журнал аудита только для добавления записывает идентификатор сеанса, операцию, число сущностей, хеш политики, метку времени и идентификатор арендатора — никогда обнаруженные значения.
  • Выход — это содержимое, соответствующее настроенным правилам, удалённое или заменённое как протестировано, а не гарантия полного удаления ПДн, необратимости или нормативного соответствия.

Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую публичную поверхность API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов runbook и префиксы заявок находятся вне области рассмотрения.

У NextPDF Core (Apache-2.0) нет поверхности обнаружения ПДн, редактирования или псевдонимизации — никакой; у этой возможности нет эквивалента уровня Core.

NextPDF Pro поставляет поверхность обнаружения ПДн в текстовом слое и маскирование на этапе генерации; он не предоставляет обратимой псевдонимизации, зашифрованной карты в покое, подавления строк или журнала аудита только для добавления. Они поставляются только в пакете nextpdf/enterprise.

Обнаружение, редактирование, подавление и псевдонимизация описаны на уровне поведения. Библиотека потребляет ключ шифрования; она не управляет хранилищем ключей, а внутренние детали генерации, хранения и ротации ключей находятся вне публичной поверхности.

Зашифрованная карта и любой регидратированный вывод — это персональные данные; где они хранятся и какая юрисдикция их обрабатывает, является обязанностью развёртывания за пределами границы библиотеки. Генерация, хранение и ротация ключей — обязанность развёртывания: библиотека потребляет версию ключа, она не управляет хранилищем ключей. Потеря карты делает регидратацию невозможной; её утечка вместе с ключом делает псевдонимизацию обратимой третьей стороной.

Карта в покое использует аутентифицированное шифрование. Библиотека выполняет деидентификацию в рамках шаблонов как протестировано и не сертифицирует соответствие GDPR, HIPAA или любому другому нормативному требованию и не выполняет анонимизации. Эта документация не является юридическим заключением; обращайтесь к собственным консультантам по комплаенсу и праву.