User Scanner
User Scanner Deployment: Isolate Modules, Proxies, Reports, and MCP
Deploy User Scanner with pinned Python dependencies, bounded network access, proxy validation, report storage, and controlled MCP integration.

What you will learn
- Explain module, pivot, report, and MCP layers
- Run a bounded scan and interpret uncertainty
- Apply authorization, rate-limit, and data-retention controls
Before you start
- Basic Git and command-line usage
- Comfort reading a project README
You can explain the project, run its documented first step, and decide what to verify before adopting it.
Key takeaways
- Pin Python/package versions and isolate scanner data and credentials.
- Use allow-listed outbound access, bounded proxies, and local/trusted MCP.
- Protect reports with encryption, retention, metadata, monitoring, and recovery tests.
Pin the runtime and package
Use a Python virtual environment or an audited PyPI/repository version. The README documents Python, Windows, Linux, Termux, and Nix paths; record OS, Python, package hash, module catalog, and license review in the deployment receipt.
Keep the scanner separate from production credentials and personal datasets. A clean environment makes upgrades and removals testable.
Control outbound access
Allow-list public domains required by the selected modules, set request timeouts and concurrency, and validate proxies before use. Proxy rotation is a routing choice, not a permission bypass; honor provider terms and stop on blocks or consent boundaries.
Keep MCP on stdio or a trusted local boundary. Do not expose a scanner server to an untrusted network or let a client inject arbitrary proxy files, output paths, or recursive depth.
Store reports safely
Write JSON/CSV/PDF reports to an access-controlled directory, encrypt at rest, and retain only fields needed for the purpose. Include target hash or normalized identifier, module set, timestamp, software version, proxy mode, and reviewer decision without storing secrets.
Test a dry run, a module timeout, a proxy failure, a partial report, and cleanup. A process exit of zero does not prove every platform response was available or accurate.
Operate and recover
Monitor request errors, rate limits, latency, output size, pivot depth, and storage. If credentials, reports, or a proxy are exposed, stop scans, revoke access, quarantine outputs, restore a known-good environment, and document deletion or notification.
Decision guide
| Criterion | Option A | Option B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Implementation steps
- 1
Create an isolated pinned runtime and review module provenance.
- 2
Define domains, timeouts, concurrency, proxy, and MCP boundaries.
- 3
Run smoke/failure tests and store redacted reports securely.
- 4
Monitor, rotate, quarantine, restore, and verify cleanup.
Copy-ready example
python3 -m venv .venv
. .venv/bin/activate
pip install "user-scanner[mcp]"
user-scanner -u owned-handle -P proxies.txt --validate-proxies -f json -o reports/run.json
user-scanner-mcpFrequently asked questions
Can I expose user-scanner-mcp on the public internet?
Do not do so by default; keep it local or behind a trusted, authenticated boundary with explicit scope.
How should proxy credentials be stored?
Use an OS secret store or managed secret provider; never commit them or include them in reports.
Sources
- User Scanner README (captured 2026-08-31)Source checked 2026-08-31
- User Scanner repositorySource checked 2026-08-31