Privacy
Short version: your financial files never leave your device. The site keeps anonymous daily counts, and an email address only if you choose to leave one.
Your files
When you choose or drop a file, this page reads it with your browser and converts it there, in a background thread of the page. The file, its rows, descriptions, names, amounts and the converted output are never sent to our server or to anyone else. Closing the tab discards them. You can check this yourself: load the page, disconnect from the internet, and convert a file.
Payments
If you buy a pass, Stripe handles the payment on its own page, and your file never leaves your browser. When you pay, the page sends our server a SHA-256 fingerprint of the file (it cannot be turned back into the file), its row count, the two format ids and the page address. We keep, per purchase: the Stripe session id, the plan, the amount and currency, the file fingerprint, the time, and a SHA-256 hash of the email address Stripe collected (a plain hash, so it can be matched against a known address; it is kept only to find your purchase if you ask for a refund). The row count, format ids and page address are sent but not stored. A checkout that started from one of our own ads also carries that ad's labels, whether or not it is paid; see Ad campaign counts.
Page view counts
When a page is requested, the server adds one to a daily counter keyed by these fields, and nothing else:
- the date (day only, no time),
- the page path, without any query string (requests for pages that do not exist are counted together as "not found"),
- the referring website's host name only, for example
google.com, or "direct" when there is none, - a coarse class of visitor worked out from the browser's user-agent string: person, search engine crawler, AI crawler or other automated client (the user-agent string itself is not kept),
- a two-letter country code supplied by our hosting provider.
Because these are counters, there is no record of an individual visit. No IP address is stored, no cookies are set, and there is no fingerprinting and no third-party analytics, advertising or tracking script.
Conversion counts
When a conversion finishes, the page sends one small anonymous message that adds to a daily counter of: the source format id (for example venmo), the target format id (for example qbo), a row-count range (such as 51 to 500), whether it worked, and a short error code if it did not (for example PDF when someone chose a PDF instead of a CSV). A similar count is kept when a converted file is downloaded. Runs of the sample file (the "Try a sample" button) and downloads of it are counted under their own names, so they are never mixed with real conversions. These counts tell us which converters people use and which ones fail. They never include anything from inside your file.
Ad campaign counts
If you arrive by clicking one of our own Google Search ads, the link carries labels for that ad: its campaign and ad group numbers, the keyword the ad was shown for, the match type, the network and the device class (computer, phone or tablet). The server adds one to a daily counter for that ad. The page keeps the labels in this tab's session storage until the tab closes and then removes the ad parameters from the address bar, so that a sample run, a conversion, a download and the start of a checkout in that tab can each add one to the same ad's daily counter. The labels describe the ad, not you: the click id Google puts in the link is not read, stored or passed on by us, the location number in the link is not used, and there is still no cookie and no visitor id. If you start a checkout in that tab, the labels are sent to Stripe with it and stay on that checkout record there, paid or not. If you pay, the purchase adds one to the ad's counter and our purchase record gets a mark that it was counted. Only clicks on our own campaigns are counted; labels from any other link are ignored.
Email address (optional)
If you use the "notify me" form, we store the email address you type, the page you were on, and the time. It is used for one thing: a single email when bulk and multi-file conversion is ready. It is not shared, sold, added to any other list or used for anything else. To have it deleted at any time, use the contact form, choose "Remove my email" and enter the address: it is deleted from the list immediately, and the page confirms it.
Contact form
If you send a message through the contact form, we store: the message type you chose, the text you wrote (up to 2,000 characters), the source and target formats if you picked them, the time, and a reply email address only if you give one. The reply address is used only to answer that message. For a "Remove my email" request, the address is used to delete matching entries from the notify list straight away and is not kept with the message. Messages are read only by the person who runs the site and are not shared. No IP address is stored with them. To have a message you sent deleted, say so in a new message. Please do not paste real transaction data into a message.
Rate limiting and hosting
To stop abuse of the small forms (conversion counts, notify and contact), ad landing counts, checkout and the payment check, the server counts requests per IP address in short-lived memory for about a minute. That count is not written to any database or log by us. The site is hosted on Cloudflare, which processes IP addresses and other request data to deliver and protect the site, as any host does; see Cloudflare's own privacy policy for that processing. Our own request logging is turned off.
Local settings
If you switch between light and dark theme, that choice is saved in your browser's local storage on your device. It is never sent to us. A pass you buy is saved there too, so this browser can download the file without an account.
Changes
If this changes, this page will say so before the change takes effect.