Security

Security at PentestedAI

We're a security company. We eat our own dog food.

Scan data isolation

Every scan runs in an isolated workspace on our VPS. Findings never touch persistent disk unencrypted — we use an encrypted tmpfs workspace for the scan runtime. After the report is generated, the workspace is wiped immediately.

Encrypted storage

Reports (.pdf and .docx) and raw findings are uploaded to S3-compatible storage (Backblaze B2) with per-customer AES-256-GCM encryption. Encryption keys are derived from your customer ID and a master secret stored off-VPS. If our storage bucket were somehow breached, the data would be unreadable without the master secret.

Report delivery

Reports are delivered via signed download URLs with a TTL matching your chosen retention window. You re-authenticate with your magic link for each download session — no persistent download URLs floating around. After your retention window (24h or 30d), the S3 objects are permanently deleted.

No persistent vulnerability data

Our Neon Postgres database holds only: your account email, scan date, tier purchased, and a hash of your target domain. It does not hold your findings, your report, or any vulnerability details. If our database were breached, the attacker would get a list of emails and timestamps — not your security vulnerabilities.

Infrastructure

  • VPS hardened with UFW + Hostinger network firewall
  • TLS everywhere — Caddy auto-provisions and renews certificates
  • SSH key-only access, no password auth
  • Append-only audit log of all data access events

Responsible disclosure

Found a vulnerability in PentestedAI itself? We welcome responsible disclosure. Email security@pentested.ai with details. We aim to acknowledge within 24 hours and resolve within 7 days.