# Do Better Norge Legal Tools Hub

MVP docroot for `tools.dobetternorge.no`.

## Required environment

- CaveauAI client access for `DBN_CAVEAU_CLIENT_SLUG` and `DBN_CAVEAU_PACKAGE_SLUG`
- `DBN_AZURE_OPENAI_ENDPOINT`
- `DBN_AZURE_OPENAI_API_KEY`
- `DBN_AZURE_OPENAI_API_VERSION`
- `DBN_AZURE_OPENAI_CHAT_DEPLOYMENT`
- `DBN_AZURE_OPENAI_EMBEDDING_DEPLOYMENT`

Optional:

- `DBN_AI_PORTAL_ROOT` (defaults to sibling `ai-portal`)
- `DBN_CAVEAU_CLIENT_SLUG` (defaults to `dobetter`)
- `DBN_CAVEAU_PACKAGE_SLUG` (defaults to `family-legal`)
- `DBN_TOOLS_SUPPORT_DIR`
- `DBN_TOOLS_METADATA_LOG`

## Authentication

The login form authenticates against Caveau `client_users` for the configured
client slug. The client must be active, the user must be active, and the client
must have an active subscription to the configured corpus package.

Use `scripts/setup-caveau-access.php` for repeatable local/production setup of
the Do Better Norge Caveau owner account, family-legal subscription, and
white-label domain mappings. Pass the account password through
`DBN_SETUP_PASSWORD` at runtime only; do not commit it.

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.
