Skip to content

Corporate / offline setup

Use an internal PyPI index

If your organization mirrors PyPI behind a private index (Artifactory, Nexus, devpi, etc.), point uv at it before running the installer:

Terminal window
export UV_INDEX_URL=https://pypi.your-corp.example/simple
export UV_DEFAULT_INDEX=https://pypi.your-corp.example/simple
curl -fsSL anonymizer.site/install | sh

uv honors both UV_INDEX_URL (legacy pip-compatible) and UV_DEFAULT_INDEX (uv-native). Either works.

You can also configure this permanently in ~/.config/uv/uv.toml:

[[index]]
url = "https://pypi.your-corp.example/simple"
default = true

Use a proxy

uv honors standard HTTPS_PROXY / HTTP_PROXY / NO_PROXY env vars. The install script and runtime tool both inherit them.

Anonymizer-specific environment variables

VariablePurpose
ANONYMIZER_NO_UPDATE_CHECKIf set to 1, suppresses the in-UI update banner
ANONYMIZER_VERSION_URLPoint the updater at an internal version.json mirror
ANONYMIZER_MAX_UPLOAD_MBOverride the web upload limit in megabytes
ANONYMIZER_FEEDBACK_LOG_DIROverride the opt-in feedback log directory

See Reference / env vars for the full list.

OCR dependencies

Scanned and hybrid PDF support depends on system Tesseract plus eng and rus language data. In managed environments, preinstall those packages through your normal software channel or mirror them alongside the Python wheel bundle. The Python package does not download OCR language data during document processing.

Validate a machine with:

Terminal window
anonymize doctor --no-network

Air-gapped install

For machines with no outbound network at install time:

  1. On a connected machine: uv pip download --dest ./docs-anonymizer-bundle docs-anonymizer
  2. Copy the bundle (a folder of .whl files) to the air-gapped machine
  3. On the air-gapped machine: uv tool install --no-index --find-links ./docs-anonymizer-bundle docs-anonymizer

The runtime tool itself never makes network calls during document processing — see What leaves your machine.

Updates without network

The in-UI update banner uses /version.json from anonymizer.site. Set ANONYMIZER_NO_UPDATE_CHECK=1 to suppress it entirely on air-gapped machines.