Enterprise editie
Privacy
In het kort
Sectie met titel “In het kort”NextPDF Enterprise Privacy detecteert tekst die overeenkomt met geconfigureerde PII-patronen en redigeert deze, onderdrukt de regels die ze bevatten, of vervangt ze door omkeerbare deterministische pseudoniemen die worden ondersteund door een versleutelde at-rest-map. Het verwijdert inhoud die overeenkomt met de geconfigureerde regels zoals getest. Het garandeert geen volledige PII-verwijdering en is geen verklaring van regelgevingsconformiteit.
Beschikbaarheid en licenties
Sectie met titel “Beschikbaarheid en licenties”Deze mogelijkheid wordt geleverd in NextPDF Enterprise (nextpdf/enterprise) en wordt geactiveerd met een licentie-envelop van het Enterprise-niveau. Een implementatie zonder die entitlement laadt de klassen van de mogelijkheid niet. Vergelijk edities en verkrijg een licentie.
Installatie
Sectie met titel “Installatie”composer require nextpdf/enterprise:^3Conceptueel overzicht
Sectie met titel “Conceptueel overzicht”Detectie is patroongebaseerd. Een detector scant tekst tegen een registry van regex-patronen en levert ingebouwde patronen voor e-mailadressen, telefoonnummers, Amerikaanse Social Security-nummers, creditcardnummers en Taiwanese nationale-ID-nummers. Een implementatie mag aanvullende patronen registreren. Detectie vindt uitsluitend de geconfigureerde typen; een waarde die geen enkel patroon matcht, wordt niet gedetecteerd, en een gescande pagina zonder tekstlaag levert geen matches op.
Een redactiebeleid bepaalt het gedrag. In detect-only-modus retourneert de engine bevindingen zonder de inhoud te wijzigen. In redactiemodus vervangt hij elke gematchte span door een black-box-, white-box- of tekstvervanging. De de-identifier voegt een onderdrukkingsstrategie toe die volledige regels met een match verwijdert in plaats van afzonderlijke spans te maskeren. Elke run retourneert de SHA-256 van de oorspronkelijke tekst, de gewijzigde inhoud, een gespecificeerd rapport en een modified-vlag.
Pseudonimisering is per ontwerp omkeerbaar. De engine vervangt gedetecteerde entiteiten door deterministische, formaatbewuste pseudoniemen die zijn afgeleid van een HMAC over de oorspronkelijke waarde en een seed per sessie, zodat dezelfde waarde consistent wordt gemapt binnen een sessie, terwijl de tokens over verschillende sessies heen niet correleren via deterministische gelijkheid. De map van origineel naar pseudoniem wordt geserialiseerd en at-rest versleuteld met AES-256-GCM en een geversioneerde sleutel, wat sleutelrotatie ondersteunt. Rehydratie herstelt oorspronkelijke waarden, maar alleen met de juiste sleutel en de bijbehorende versleutelde map; zonder deze zijn de oorspronkelijke waarden niet herstelbaar uit de gepseudonimiseerde tekst alleen.
Deze operaties implementeren de-identificatie, die de associatie tussen de gegevens en de persoon verwijdert — ISO/IEC 29100:2024 §2. Pseudonimisering vervangt een identifier door een alias en is per definitie omkeerbaar met de afzonderlijk bewaarde mapping — ISO/IEC 29100:2024 §2. Anonimisering beoogt identificatie onomkeerbaar te voorkomen — ISO/IEC 29100:2024 §2; dit Enterprise-oppervlak voert patroongebonden redactie, onderdrukking en omkeerbare pseudonimisering uit, geen anonimisering. Het residuele heridentificatierisico hangt af van de attributen die na de-identificatie overblijven — ISO/IEC 29100:2024 §2, en de-identificatie vermindert dat risico maar elimineert het niet — ISO/IEC 29151:2017. Behandel de uitvoer als inhoud die overeenkomt met de geconfigureerde regels, verwijderd of vervangen zoals getest, niet als een garantie van volledige PII-verwijdering, onomkeerbaarheid of regelgevingsconformiteit.
Waarom het zo werkt
Sectie met titel “Waarom het zo werkt”Omkeerbaarheid is de dragende keuze. Pseudoniemen zijn HMAC-SHA256-uitvoer over de oorspronkelijke waarde en een seed per sessie, zodat dezelfde waarde binnen een sessie op hetzelfde token mapt en de interne relaties van het document behouden blijven. Een verse willekeurige seed per sessie betekent dat dezelfde waarde niet op hetzelfde token mapt over sessies heen, zodat de pseudoniemen over sessies heen niet correleren via deterministische tokengelijkheid, wat de deterministische koppelbaarheid vermindert zonder een centrale lookup. De mapping wordt bewust bewaard — at-rest versleuteld met AES-256-GCM — zodat geautoriseerde rehydratie de originelen kan herstellen; die omkeerbaarheid is wat dit tot pseudonimisering onder ISO/IEC 29100:2024 §2 maakt, geen anonimisering. De afweging wordt geaccepteerd: de versleutelde map, niet de gepseudonimiseerde tekst, wordt het gevoelige artefact, zodat vertrouwelijkheid wordt teruggebracht tot sleutelbewaring. Formaatbewuste tokens behouden de vorm van elke entiteit, zodat downstream-parsers blijven werken, ten koste van het feit dat checksum-validators een gevormde-maar-synthetische waarde kunnen afwijzen.
Ontwerpachtergrond: Redactie is geen zwarte rechthoek.
API-oppervlak
Sectie met titel “API-oppervlak”| Type | Soort | Rol | Stabiliteit | Sinds |
|---|---|---|---|---|
PiiDetector | class | Patroongebaseerde PII-detectie; ondersteunt registratie van aangepaste patronen | stabiel | 2.2.0 |
RedactionEngine | class | Detect-only of destructieve tekstredactie volgens beleid | stabiel | 2.2.0 |
DeIdentifier | class | Strategie-dispatch voor redactie of regelonderdrukking | stabiel | 2.2.0 |
RedactionPolicy | class | Doelentiteittypen, redactietoggle, vervangingsstijl | stabiel | 2.2.0 |
PseudonymizationEngine | class | Deterministische, formaatbewuste pseudoniemvervanging | stabiel | 2.2.0 |
PrivacyGateway | class | Documentgebonden pseudonimiseren/rehydrateren met audit | stabiel | 2.2.0 |
RehydrationService | class | Herstelt originelen uit een versleutelde map | stabiel | 2.2.0 |
EncryptedMapSerializer | class | AES-256-GCM at-rest-map-serialisatie met sleutelversionering | stabiel | 2.2.0 |
PrivacyAuditTrail | class | Append-only log van pseudonimiseer-/rehydratie-operaties | stabiel | 2.2.0 |
EntityType / RedactionStyle / DeIdentificationStrategy | enums | Entiteit-, stijl- en strategievocabulaire | stabiel | 2.2.0 |
De audittrail is per contract append-only: hij logt een sessie-id, operatie, entiteitsaantal, een policy-hash, een tijdstempel en een tenant-id. Hij registreert niet de gedetecteerde waarden.
Codevoorbeeld — Snelstart
Sectie met titel “Codevoorbeeld — Snelstart”<?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() richt zich op de ingebouwde typen. Een waarde die geen enkel geconfigureerd patroon matcht, wordt niet geredigeerd.
Codevoorbeeld — Productie
Sectie met titel “Codevoorbeeld — Productie”<?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']]; }}Het logrecord draagt alleen een aantal. Het draagt niet de documenttekst, de gedetecteerde waarden of de versleutelde map.
Randgevallen en valkuilen
Sectie met titel “Randgevallen en valkuilen”- Detectie is patroongebonden. Een waarde die geen enkel patroon matcht, wordt niet gedetecteerd. De engine claimt niet dat alle persoonsgegevens worden gevonden, en het resultaat is geen garantie van volledige PII-verwijdering.
- Gescande pagina’s hebben geen tekstlaag. Tekstpatroondetectie levert geen matches op; combineer met het Intelligence-oppervlak voor doorzoekbare overlays als eerst tekst vereist is.
- Pseudonimisering is per definitie omkeerbaar. Iedereen met de juiste sleutel en de bijbehorende versleutelde map kan de originelen herstellen. Dit is geen anonimisering; presenteer gepseudonimiseerde uitvoer niet als onomkeerbaar.
- Formaatbewuste pseudoniemen behouden een vorm (bijvoorbeeld een ID-achtig of e-mailachtig token). Een downstream-systeem dat checksums valideert, kan een pseudoniem afwijzen; dat is verwacht gedrag.
- De versleutelde map is het gevoelige artefact. Het verliezen ervan maakt rehydratie onmogelijk; het lekken ervan met zijn sleutel maakt de pseudonimisering omkeerbaar door een derde partij. Behandel sleutelbewaring en mapopslag als een implementatieverantwoordelijkheid.
- Redactie werkt op de tekstinhoud die eraan wordt doorgegeven. Ze plat zelf geen afbeelding af, verwijdert geen thumbnail en verwijdert geen documentmetadata; bepaal de scope van de pijplijn dienovereenkomstig.
Prestaties
Sectie met titel “Prestaties”De detectiekosten schalen mee met het aantal patronen en de tekstlengte. Pseudonimisering voegt een HMAC per unieke entiteit en een AES-256-GCM-seal van de map toe. Het wandbudget van 1500 ms dekt een typisch zakelijk document. Het reproduceerbaarheidsprofiel is structural: pseudoniemen zijn deterministisch voor een vaste seed, maar de audittijdstempel en de willekeurige sessie-seed variëren tussen runs, zodat twee runs in die velden verschillen.
Beveiligingsnotities
Sectie met titel “Beveiligingsnotities”De at-rest-map gebruikt geauthenticeerde versleuteling. De map wordt verzegeld met AES-256-GCM en een geversioneerde sleutel; rehydratie is onmogelijk zonder de juiste sleutelversie. Sleutelgeneratie, -bewaring en -rotatie zijn de verantwoordelijkheid van de implementatie; de bibliotheek consumeert een sleutel, ze beheert geen sleutelopslag. De audittrail is append-only en registreert metadata, nooit gedetecteerde waarden. Elke normatieve bron is geparafraseerd en geen enkele is gereproduceerd.
Datalocatie en PII-mitigaties
Sectie met titel “Datalocatie en PII-mitigaties”Detectie, redactie en pseudonimisering draaien in-process op de host. Bij geen van deze operaties verlaat documentinhoud de host. De versleutelde map en eventuele gerehydrateerde uitvoer zijn persoonsgegevens; waar ze worden opgeslagen en welke jurisdictie ze verwerkt, is een implementatieverantwoordelijkheid buiten de grens van de bibliotheek. De bibliotheek voert patroongebonden de-identificatie uit zoals getest; ze certificeert geen GDPR-, HIPAA- of enige andere regelgevingsconformiteit, en ze voert geen anonimisering uit. Het residuele heridentificatierisico hangt af van de attributen die overblijven — ISO/IEC 29151:2017.
Veilige telemetrie en logopschoning
Sectie met titel “Veilige telemetrie en logopschoning”De bibliotheek werpt getypeerde excepties met structurele berichten en plaatst nooit gedetecteerde waarden, documentbytes of de versleutelde map in exceptietekst. Een implementatie die rond dit oppervlak logt, moet aantallen en de policy-hash loggen — zoals getoond in het productievoorbeeld — en mag de ruwe PDF-payload, gedetecteerde entiteitstekst of de pseudoniem-map niet naar logs of een APM-backend loggen. De append-only audittrail is het veilige record om te bewaren.
FIPS-modusgedrag
Sectie met titel “FIPS-modusgedrag”De at-rest-map gebruikt AES-256-GCM via de platform-cryptoprovider. Wanneer de host een FIPS-gevalideerde provider draait, draait die operatie binnen de gevalideerde grens. NextPDF Enterprise voert de structurele assemblage uit en is zelf geen FIPS-gevalideerde cryptografische module en maakt geen FIPS-certificeringsclaim.
Conformiteit
Sectie met titel “Conformiteit”| Claim | Standaard | Clausule |
|---|---|---|
| De-identificatie verwijdert de associatie tussen de gegevens en de persoon. | ISO/IEC 29100:2024 | §2 |
| Pseudonimisering vervangt een identifier door een alias en is omkeerbaar met de afzonderlijke mapping. | ISO/IEC 29100:2024 | §2 |
| Anonimisering beoogt identificatie onomkeerbaar te voorkomen (dit oppervlak anonimiseert niet). | ISO/IEC 29100:2024 | §2 |
| Het residuele heridentificatierisico hangt af van de overblijvende attributen. | ISO/IEC 29100:2024 | §2 |
| Privacycontroles worden toegepast op PII. | ISO/IEC 29100:2024 | §6.5 |
| De-identificatie vermindert het residuele risico maar elimineert het niet. | ISO/IEC 29151:2017 | de-identification controls |
| Minimaliseer de koppelbaarheid van gede-identificeerde gegevens. | ISO/IEC 29151:2017 | PII minimization |
| Controles worden toegepast om PII te beschermen. | ISO/IEC 29151:2017 | controls |
Alle clausules zijn geparafraseerd. NextPDF reproduceert geen normatieve tekst. Raadpleeg de gepubliceerde standaarden voor de gezaghebbende formulering. NextPDF maakt geen claim over conformiteit met privacyregelgeving; deze pagina vermeldt het geteste de-identificatiegedrag en de grenzen ervan, geen gecertificeerde compliancestatus.
Gedragscontract
Sectie met titel “Gedragscontract”- Detectie is patroongebonden: ze vindt uitsluitend de geconfigureerde typen; een waarde die geen enkel patroon matcht, wordt niet gedetecteerd en een pagina zonder tekstlaag levert geen matches op.
- Een redactiebeleid selecteert detect-only, span-vervanging (black-box / white-box / tekst) of onderdrukking van volledige regels; elke run retourneert de SHA-256 van de oorspronkelijke tekst, de gewijzigde inhoud, een gespecificeerd rapport en een modified-vlag.
- Pseudonimisering is per ontwerp omkeerbaar: deterministische, van HMAC afgeleide pseudoniemen zijn consistent binnen een sessie, en rehydratie vereist de juiste sleutelversie en de bijbehorende AES-256-GCM at-rest-map.
- De append-only audittrail registreert sessie-id, operatie, entiteitsaantal, policy-hash, tijdstempel en tenant-id — nooit de gedetecteerde waarden.
- De uitvoer is inhoud die overeenkomt met de geconfigureerde regels, verwijderd of vervangen zoals getest, geen garantie van volledige PII-verwijdering, onomkeerbaarheid of regelgevingsconformiteit.
Publicatiegrens
Sectie met titel “Publicatiegrens”Deze pagina documenteert uitsluitend extern waarneembaar gedrag en het ondersteunde openbare API-oppervlak. Interne namespace-paden, helperklassen, mechanismetabellen, runbook-bestandsnamen en ticketprefixen vallen buiten de scope.
Core-terugval
Sectie met titel “Core-terugval”NextPDF Core (Apache-2.0) heeft geen oppervlak voor PII-detectie, redactie of pseudonimisering — niets; deze mogelijkheid heeft geen equivalent op Core-niveau.
Pro-terugval
Sectie met titel “Pro-terugval”NextPDF Pro levert een tekstlaag-PII-detectie-oppervlak en maskering op generatietijd; het biedt geen omkeerbare pseudonimisering, geen versleutelde at-rest-map, geen regelonderdrukking en geen append-only audittrail. Die worden uitsluitend geleverd in het nextpdf/enterprise-pakket.
Opmerking over de Enterprise-grens
Sectie met titel “Opmerking over de Enterprise-grens”Detectie, redactie, onderdrukking en pseudonimisering worden op gedragsniveau beschreven. De bibliotheek consumeert een versleutelingssleutel; ze beheert geen sleutelopslag, en de internals van sleutelgeneratie, -bewaring en -rotatie vallen buiten de scope van het openbare oppervlak.
Implementatiegrens
Sectie met titel “Implementatiegrens”De versleutelde map en eventuele gerehydrateerde uitvoer zijn persoonsgegevens; waar ze worden opgeslagen en welke jurisdictie ze verwerkt, is een implementatieverantwoordelijkheid buiten de grens van de bibliotheek. Sleutelgeneratie, -bewaring en -rotatie zijn de verantwoordelijkheid van de implementatie — de bibliotheek consumeert een sleutelversie, ze beheert geen sleutelopslag. Het verliezen van de map maakt rehydratie onmogelijk; het lekken ervan met zijn sleutel maakt de pseudonimisering omkeerbaar door een derde partij.
Juridische-compliancegrens
Sectie met titel “Juridische-compliancegrens”De at-rest-map gebruikt geauthenticeerde versleuteling. De bibliotheek voert patroongebonden de-identificatie uit zoals getest en certificeert geen GDPR-, HIPAA- of enige andere regelgevingsconformiteit, en ze voert geen anonimisering uit. Deze documentatie is geen juridisch advies; raadpleeg uw eigen compliance- en juridische adviseurs.
Zie ook
Sectie met titel “Zie ook”- Privacyreferentie — het volledige openbare API-oppervlak voor de Privacy-module.
- Pro security — Pro-maskering en tekstlaag-PII-detectie.
- Forensics — alleen-lezen analyse van revisiegeschiedenis.
- NextPDF Enterprise — het volledige Enterprise-functieoppervlak.
- Privacy policy — de gegevensverwerking van het documentatieprogramma zelf.
- PII · Pseudonymization · De-identification · AES-GCM — woordenlijsttermen.