px-solver produces valid PerimeterX cookies. That capability is dual-use: useful for authorized research, defensive testing, and legitimate scraping; misusable for credential abuse, ToS-violating scraping, account takeover, or mass exfiltration.
This policy is binding on every operator of this codebase. It pairs with 011-sow-dual-use.md, docs/threat-model.md, and ADR-0007.
By running this codebase, the operator commits to:
- No anonymous solving. The server must always run with
config/keys.yamlpopulated and the API-key middleware active. The codebase enforces this at startup. - Allowlist hygiene. Every entry in
config/allowlist.yamlmust include:tos_reviewed: true— the operator has personally read the target site's Terms of Service and believes the planned use is consistent with them.- A non-empty
justificationdescribing the authorized use case (research, defensive test, internal monitoring, etc.). Adding a target to the allowlist is a deliberate act, not a default.
- No credential abuse. The solver is not pointed at login forms, auth endpoints, or any flow that would enable account takeover or credential stuffing.
- No public SaaS. The server is not exposed as an anonymous or pay-per-call public service. Operators may share access with named individuals via API keys, but not with the open internet.
- Respect rate constraints. The solver does not include built-in rate limits; the operator commits to running a reverse-proxy / external limiter when serving downstream consumers, and to respecting target-site
robots.txtfor any consumer of the cookies. - Audit log review. The operator reviews
AuditEventlogs at least monthly (or in response to incidents). Anomalies (sudden volume spikes, calls to allowlist entries from unexpected keys, repeatedHandlerFailedoutcomes) are investigated. - No deception of target sites. The operator does not misrepresent the source of solved requests to the target site beyond what is inherent in stealth fingerprinting (i.e. does not impersonate a specific real user account).
- Credential stuffing, brute-force login, account takeover.
- Mass scraping at a volume the target site did not consent to, even when the target is allowlisted.
- Reselling solver capacity to anonymous or third-party consumers.
- Bypassing access controls on private/authenticated content (logged-in pages, paywalled content).
- Using the solver against sites whose ToS the operator has not personally reviewed.
- Any use described as in-scope by
docs/threat-model.mdunder "Misuse vectors."
- Prefer using a paid
cookies-as-a-servicevendor (CapSolver, ScrapFly, Bright Data) over self-hosting if the volume justifies it; those vendors have dedicated abuse teams and incident response. - Discuss with the target site's security team before running automated traffic at any meaningful volume.
- Keep operator-side instances ephemeral. A long-running production solver instance is a stationary target for both the target site's bot-mitigation team and external attackers.
px-solver is research software released under AGPL-3.0-or-later. It carries no warranty. The author is not responsible for misuse. By running it, the operator acknowledges they have read this policy and the threat model, and accepts the legal and operational responsibility for use under their control.