Privacy Policy
What we collect, why, and what we deliberately never touch.
Draft of 12 August 2026 — not in force
Draft — not in force
This notice was drafted without legal counsel by someone who is not a lawyer, and must be reviewed and approved by a qualified professional before publication. It describes the system as it actually behaves today, including one retention gap that must be fixed in code rather than in prose. The list of what to settle first is at the foot of this page.
1. The short version
What matters most to a travel business integrating this API: we never receive your travellers' identities.
2. What we actually collect
This list was compiled by reading the database migrations and the request handlers, not from memory. Each entry names where the data lives.
3. What we never collect
4. Why we process it, and on what basis
5. How long we keep it
This section describes the position as it actually is today, including where it falls short of what it should be. Do not read it as a description of an implemented policy.
6. Who else processes it
These are the third parties that receive data in the course of running the service. Confirm this list and put a data processing agreement in place with each before publication.
7. Cookies and local storage
8. Your rights
If the GDPR applies to you, you have the following rights, exercisable free of charge by writing to [email protected]. We answer within one month.
9. Security and changes
To settle before publishing
- Implement the log purge and confirm the retention period. Section 5 currently admits that logs are kept indefinitely, because they are. The previous version of this page claimed a 90-day automatic purge that does not exist anywhere in the codebase — that claim must not come back until the job does.
- Decide whether the full client IP in visa_api_logs is necessary, or whether the abuse guards would work on a truncated /24 as the analytics table already does. Truncating would remove most of the personal data from the table outright.
- Identify the controller: legal entity, registration number, registered address, and whether a data protection officer is required.
- Sign data processing agreements with Stripe, Resend, PostHog, Cloudflare and the hosting provider, and confirm the transfer mechanism for any processing outside the EU.
- Confirm with counsel whether logging a caller IP alongside a queried nationality warrants a data protection impact assessment.
Questions or requests
Privacy questions and requests to exercise your rights go to the same address.
[email protected]