9b22947eb2
Pass 1: deterministic regex with Nordic/European/ECHR/Global packs covering fødselsnummer, Swedish personnummer, Danish/Finnish CPR, UK NI, French INSEE, IBAN, EU phones, ECHR application numbers, DOB, and national ID label patterns. Pass 2: LLM semantic scan (Azure OpenAI) finds names, orgs, places and identifying descriptions missed by regex. Runs on pre-redacted text so no raw PII reaches the LLM. Adds region selector (Nordic/European/ECHR/Global) to the Redact UI. Falls back gracefully when Azure is not yet configured. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
17 lines
593 B
PHP
17 lines
593 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
require_once __DIR__ . '/../includes/LegalTools.php';
|
|
|
|
dbnToolsRequireMethod('POST');
|
|
dbnToolsRequireAuth();
|
|
$input = dbnToolsJsonInput(70000);
|
|
|
|
dbnToolsWithTelemetry('redact', '', function () use ($input): array {
|
|
$text = dbnToolsString($input, 'text', 32000);
|
|
$mode = (string)($input['mode'] ?? 'standard');
|
|
$region = dbnToolsNormalizeRegion($input['region'] ?? 'nordic');
|
|
$language = dbnToolsNormalizeLanguage($input['language'] ?? 'en');
|
|
return (new DbnLegalToolsService())->redact($text, $mode, $region, $language);
|
|
});
|