Privacy policy
Your files never leave your browser
NACHA Navigator reads ACH, X9 and BAI2 files with JavaScript on your own device. This page lists everything the site’s server does receive: anonymous counters and, if you donate, a request to Stripe.
Last updated October 27, 2026
What happens in your browser
- Files you open in the NACHA, X9 and BAI2 viewers are read, decoded and checked by JavaScript on the page. They are not uploaded, stored or logged anywhere.
- Files you build with the NACHA Generator or the reversal tool are created in your browser too, and download straight to your device.
- File contents are never written to browser storage. Close or reload the tab and they are gone.
- The pages’ security policy only allows connections back to this site (
connect-src 'self'), so a page couldn’t send your file anywhere else even by mistake. To check, open your browser’s developer tools, choose the Network tab and open a file.
What our server receives
The site runs on Cloudflare. Like any website, Cloudflare handles the connection, including your IP address, to deliver the pages and block abuse, under Cloudflare’s privacy policy. Our own code receives only the following.
Anonymous usage counters
When you open a page or use a tool, the page sends the name of the event, such as page:home, and nothing else. The server adds one to that counter and to the same counter for the current day. No cookie, IP address, browser details, file name or file content is stored with it. These are all of the counters:
| Counted when | Counter names |
|---|---|
| Page views. A page is opened (one counter per page). | page:homepage:use_casespage:termspage:privacypage:donatepage:donation_successpage:analyticspage:x9_viewerpage:bai2_viewerpage:nacha_generatorpage:nacha_generator_apipage:nacha_file_formatpage:not_found |
| Files opened. A file or a built-in sample is opened in one of the viewers. Only the count is sent; the file stays on your device. | file:nacha:uploadfile:nacha:samplefile:x9:uploadfile:x9:samplefile:bai2:uploadfile:bai2:sample |
| Reversals. A reversal file is built in the NACHA Viewer. | reversal:generated |
| NACHA Generator. The generator builds a file in your browser, or its REST API returns a file. | generator:generatedgenerator:api |
| Downloads. A result is downloaded: CSV, JSON, check images or a NACHA file. | export:nacha:csvexport:nacha:jsonexport:nacha:reversalexport:x9:imagesexport:x9:csvexport:x9:jsonexport:bai2:csvexport:bai2:jsonexport:generator:achexport:generator:json |
The totals are public on the analytics page: you see the same numbers we do.
Donations
On the donate page, the amount you choose is sent to our server, which asks Stripe to create a payment for exactly that amount. Your card or bank details go from Stripe’s payment form straight to Stripe and never reach our server. Stripe processes the payment under the Stripe privacy policy. Stripe’s code loads only on the donate and thank-you pages.
The generator API
If you call the NACHA Generator REST API from your own software, the JSON you send is processed in memory to build the file and is not stored. Each successful call adds one to generator:api. Rate limits use the caller’s IP address briefly to stop abuse; it isn’t kept.
Cookies and storage
- NACHA Navigator sets no cookies.
- Display preferences, like your choice of light or dark theme, are saved in your browser’s local storage. They never leave your device.
- On the donate and thank-you pages, Stripe’s payment form may set its own cookies to prevent fraud, as its privacy policy describes.
Questions
Email davidkaylor95+nachanav@gmail.com. The terms and conditions cover the rest.