Docker + persistent context reports `tampering: true` on Fingerprint Pro Playground

Author: maithanhtrung123Created Sep 9, 2026Updated Sep 13, 2026
Labelsbug

Summary

I tested CloakBrowser in Docker with a persistent Playwright context, Windows/Office fonts, Xvfb, and a residential proxy. Fingerprint Pro Playground consistently reports the browser as not detected for bot and incognito signals, but reports browser tampering on every seed.

Environment

  • CloakBrowser: 0.5.10
  • Node.js: 22-bookworm-slim
  • Playwright Core: 1.60.0
  • Docker Engine: 29.1.3
  • Release channel: preview
  • Launch API: launchPersistentContext
  • Headless mode: false under xvfb-run
  • Cloak options: geoip: true, humanize: true, humanPreset: "careful"
  • Fingerprint options: --fingerprint=<seed> and --fingerprint-noise=false
  • Noise override: enabled with --fingerprint-noise=false
  • Fonts: 230 Windows/Office font files mounted at /root/.local/share/fonts/windows
  • Target: https://demo.fingerprint.com/playground
  • Proxy: residential proxy, credentials omitted

The supplied Cloak license was validated by the license endpoint as valid with plan free;

Reproduction

bash
docker build -t cloak-persistent-fp:local tools/cloak-docker-fp

docker run --rm --shm-size=2g \
  -e CLOAK_LICENSE_KEY="$CLOAK_LICENSE_KEY" \
  -e CLOAK_PROXY_URL="http://USER:PASS@HOST:PORT" \
  -e CLOAK_FINGERPRINT_NOISE=false \
  -e CLOAK_SEEDS="12345,27182,31415,42069,54321" \
  -e CLOAK_PROFILE_ROOT=/profiles \
  -e CLOAK_TEST_OUT=/output \
  -v "$PWD/profiles:/profiles" \
  -v "$PWD/output:/output" \
  -v "$HOME/.local/share/fonts/windows:/root/.local/share/fonts/windows:ro" \
  cloak-persistent-fp:local

The runner creates one persistent profile per seed and writes JSON results and screenshots to /output.

Results

| Seed | Tampering ML score | Tampering | Bot | Incognito | Proxy |

| 12345 | 0.9464 | true | not detected | false | false | | 31415 | 0.9983 | true | not detected | false | false | | 42069 | 0.9554 | true | not detected | false | false | | 54321 | 0.9960 | true | not detected | false | false |

The visitor ID remained stable when a persistent profile was restarted. The proxy exit IP rotated between runs, but FPJS did not classify it as a proxy.

Expected behavior

With a persistent context, a seeded fingerprint, and matching Windows fonts, the browser should not be classified as an anti-detect/tampered browser unless a known unavoidable signal is present.

Actual behavior

FPJS reports:

tampering: true
tampering_details.anti_detect_browser: true
tampering_ml_score: 0.9464-0.9983

The result was reproduced with the explicit noise override enabled. Four seeds returned complete results and still reported tampering; one seed did not finish loading and needs a retry.

Questions

  1. Which CloakBrowser signal is expected to trigger FPJS anti_detect_browser in this Docker/Xvfb configuration?
  2. Is the result expected for the free-tier binary/license, or should the same fingerprint patches be present in the paid Pro build?
  3. Are there recommended Docker flags, GPU/ANGLE configuration, or font setup changes for a native Windows persona?
  4. Can Cloak expose a diagnostic mode that identifies which pa