Privacy Policy

Last Updated: January 2026

1. Data processing

Validation itself always runs on your device: the validator is compiled to WebAssembly and executes inside your browser tab. We never receive a validation report, and no report is stored on our servers. How the archive reaches the validator depends on which of the two inputs you use, and the two are not the same:

A file you pick from your device

Choosing or dropping a .zip never sends it anywhere. The browser reads it from disk and hands the bytes straight to the WebAssembly validator in the same tab. The file does not reach our servers, and it is not stored by us in any form. The same is true of the desktop app and the CLI.

A feed you validate by URL

Here your browser first tries to download the archive from the address you entered, with no involvement from us. Many feed hosts refuse cross-origin browser requests, and when that happens the page retries through gtfs.guru/cors-proxy: our server downloads the archive from that public address and passes the bytes back to your browser, which then validates them locally as usual. During that request the archive passes through our server and is held in memory only — it is not written to disk, not cached, and not retained after the response. The proxy reaches public addresses only and enforces redirect, size, rate and concurrency limits. If you would rather no third party touch the archive at all, download it yourself and use the file picker.

2. Shared report links

The Share button builds a link that carries a compressed sample of the report in the URL fragment (the part after #). Browsers do not send a fragment to the server, so a shared report is not uploaded to us either — but anyone holding the link can read the findings it contains.

3. Analytics

We use anonymous usage statistics to improve the application. No personally identifiable information (PII) is collected.

4. Open source

This project is open source. You can audit the code on our GitHub repository to verify our security claims.

5. Contact

For concerns, please contact us at gtfs@abasis.ai.