Who operates this service
Cameron Low, an individual based in Ontario, Canada, operates PatchProof at patchproof.dev. PatchProof is a product name. Contact hello@cameronlow.com for privacy questions, access, correction, export, deletion or complaints. Independently operated installations have their own operator and privacy notice; this notice does not describe their infrastructure.
What we collect and why
The hosted control plane stores account names and email addresses, password hashes, workspace memberships and invitations, project/repository locations, runner metadata, job plans, commands, statuses, risk findings, logs, reports, selected artifacts and security timestamps. It uses this data to authenticate users, isolate workspaces, coordinate work, deliver evidence and account email, support users, and prevent abuse. API, invitation and runner credentials are stored as hashes where designed; keep the plaintext credentials private.
Execution, uploads and workspace visibility
Repository cloning and verification commands run on your self-hosted runner, not in the hosted control plane. Selected logs and artifacts are uploaded to the hosted service and can contain source fragments, personal information or secrets. Redaction reduces exposure but cannot guarantee that every secret is detected. Review the data and permissions before connecting a runner. Workspace members can access evidence according to their role; it is not publicly published by default. External AI processing is not enabled by default.
Cookies and local storage
Essential cookies support authentication, CSRF protection and, when chosen, remembering sign-in. Hosted sessions use Redis with a configured 120-minute inactivity lifetime; the optional remember-me choice can persist longer until revoked or cleared. Local storage remembers the light/dark theme. Clearing browser data removes device preferences and may sign you out. The site does not embed advertising or visitor-analytics scripts.
Providers and countries
The hosted web app, PostgreSQL database, Redis, queue and local artifact storage run on Hostinger infrastructure in the United States. Resend delivers account verification, recovery and invitation email and processes it in the United States. Cloudflare provides domain infrastructure and contact-email forwarding; contact mail is handled through Google mail. These providers may process data internationally under their own terms. Self-hosted runners, Git hosts and package registries are selected by the runner operator. We do not sell personal information or use an account inquiry as marketing consent.
Retention and backups
Accounts and workspace evidence remain while needed for the service or until removed following available controls or a verified request; there is no automatic inactivity purge. Artifacts with an expiry time are eligible for scheduled pruning, currently hourly at minute 17. The pruner retains records for retry when storage deletion fails. Records without an expiry do not acquire one automatically. Invitations expire after 7 days and password-reset links after 60 minutes; expiry is not a promise of immediate record erasure. Ordinary edge access logs normally rotate after 14 days. Deployment database backups exist and have no verified automatic erasure deadline. Active-data deletion does not immediately erase backups, recipients’ copies or records needed for security or legal obligations.
Access, export and account closure
Settings let you update your profile, revoke API tokens and delete your account after password confirmation. Transfer ownership or resolve a workspace first if you are its only owner. Account deletion removes the account, personal API tokens and memberships; it does not erase every shared workspace report or artifact. Download available run reports/logs or ask Cameron for an export, correction, workspace removal or assistance. We verify authority, explain shared-record and backup limits, and respond under applicable privacy requirements.
Audience, concerns and changes
PatchProof is intended for adults managing software projects, not for collecting children’s personal information. Only connect repositories and submit data you have authority to process. Contact Cameron to raise a concern; unresolved Canadian privacy concerns can be directed to the Office of the Privacy Commissioner of Canada. Material changes will be identified by an updated effective date and additional notice where required.