9b22947eb2426655ba34af7dd59b83e8d9d60c98
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>
Do Better Norge Legal Tools Hub
MVP docroot for tools.dobetternorge.com.
Required environment
DBN_TOOLS_PASSCODE_HASHDBN_AZURE_OPENAI_ENDPOINTDBN_AZURE_OPENAI_API_KEYDBN_AZURE_OPENAI_API_VERSIONDBN_AZURE_OPENAI_CHAT_DEPLOYMENTDBN_AZURE_OPENAI_EMBEDDING_DEPLOYMENT
Optional:
DBN_AI_PORTAL_ROOT(defaults to siblingai-portal)DBN_CAVEAU_CLIENT_SLUG(defaults todave-jr-legal)DBN_TOOLS_SUPPORT_DIRDBN_TOOLS_METADATA_LOG
Create the passcode hash with:
php -r "echo password_hash('replace-this-passcode', PASSWORD_DEFAULT), PHP_EOL;"
The APIs process pasted text in memory and write only metadata such as tool name, latency, language, source count, chunk count, deployment, and anonymous session id.
Description
Languages
PHP
77.3%
JavaScript
13.6%
CSS
9.1%