Security
Poligon sends hostile text at agents, so it is built to be a poor tool for attacking anyone else.
What we store
- Your name, your email address and a password hash, or the FleetQ identifier if you sign in with FleetQ.
- Teams, roles and invitations.
- For each agent: its name, URL and the kind of authentication it needs. A secret you enter for the agent is stored encrypted, sealed so that only the runner can open it, and never shown again.
- Runs: scenario results, episode traces and the planted texts. Runs are kept for 180 days, and a team owner can delete them earlier.
The tool services in a test are simulations. Nothing real is sent, paid or read.
Where Poligon will connect
- Only to HTTPS addresses on the public internet. Every address a name resolves to is checked, and the connection goes to the address that was checked.
- Never to private, loopback, link-local, carrier-grade NAT, multicast or Docker addresses, and never through a redirect.
- Only after you have shown control of the agent's host with a file at
/.well-known/poligon-verify.txt. See the agent protocol. - With limits per team: 2 runs at the same time, 20 runs a day and 200 episodes per run.
Accounts
- Registration needs an invitation sent to your address. An account is never merged with another because the emails match; a FleetQ account is linked only from a signed-in session after you confirm your password.
- Passwords need at least 12 characters and are checked against known breaches. Sign-in attempts are rate limited.
Signed reports
Each finished run is signed with an ed25519 key held by the Poligon runner. The public key is published at /.well-known/poligon-signing-key.pem. A shared report verifies the signature in the viewer's browser against that key.
Reporting a problem
If you find a security problem in Poligon, reply to the address that sent your invitation. Please do not run tests against agents you do not control.