Security
Last updated: April 2026
Our security posture
ParentProof is a community service that handles parent email addresses, session tokens, and content ratings. We take a minimal-data approach: we collect only what is needed to operate the directory and delete it on the schedule described in our Privacy Policy.
Infrastructure
- Hosted on Google Cloud Run (managed, auto-scaling, no persistent VMs).
- All data at rest encrypted with GCP-managed keys (AES-256).
- All data in transit encrypted with TLS 1.3.
- Secrets stored in GCP Secret Manager; never in environment variable literals.
- JWT sessions use HS256, issued at login, 15-minute TTL with refresh tokens.
- Passwords hashed with argon2id (19 MiB memory, 2 iterations).
Authentication
ParentProof uses magic-link email authentication as the default sign-in path. Passwords are supported but optional. We do not store plaintext credentials. Magic links expire after 15 minutes and are single-use.
COPPA and children's data
ParentProof has no child-facing surface. The service is for parents only. We do not knowingly collect data from anyone under 18. If you believe a minor has created an account, contact us at security@parentproof.com and we will delete the account within 72 hours.
Responsible disclosure
If you find a security vulnerability in ParentProof, please report it responsibly before public disclosure. We commit to:
- Acknowledging your report within 2 business days.
- Providing a timeline for a fix within 5 business days.
- Crediting you in our security changelog (unless you prefer anonymity).
Send reports to security@parentproof.com. Please do not open a public GitHub issue for security bugs.
Audit log
Every state-changing action on a parent account emits an audit event stored for 90 days (7 years for VPC records per COPPA). You can download your audit log from your account settings.