Skip to content

How your statement is handled

The short version: the PDF is read in memory, parsed, and gone. What follows is the long version, with the parts a firm usually needs to write down.

The path of one file

  1. Your browser sends the PDF over HTTPS to a server in Stockholm, Sweden.
  2. The server reads the file into memory, counts the pages, and splits it into chunks of up to eight pages. It never writes the file to disk or to any storage bucket.
  3. Each chunk goes to Google's Gemini model through Vercel's AI Gateway, which returns the rows. Google processes the content transiently and does not use it for training.
  4. The rows come back to the server, the running balance is recomputed line by line, and the result is returned to your browser. The server's copy is released at the end of the request.
  5. The Excel or CSV file is built on request from the rows already in your browser and streamed straight back. It is not kept.

What is stored, and what is not

Stored, per conversion: the file name, the page count, the date, whether it succeeded, how many transactions were found, whether the balance check passed, the positions of any rows that did not — row numbers only, never what was in them — the dates of the first and last transaction, and a client label if you add one. That is what meters your plan and fills the history on your dashboard.

Never stored, anywhere, at any time: the PDF, the transactions, the descriptions, the amounts, the balances, or the account number. Not in a database, not in a log, not in a cache. There is no "deleted after 30 days" because there is nothing to delete.

For a preview without an account, the only thing recorded is a salted hash of your address, used to limit previews to three a day and pruned after a couple of days.

Your last result is kept in your own browser for four hours, so that closing the tab does not cost you the conversion. It is stored by your browser on your machine and never sent to us — the same rows that were already on your screen. It clears itself after four hours, and the converter offers a "Discard" button that removes it immediately, which is worth using on a shared computer.

In transit

Every connection is HTTPS. The site sends a two-year HSTS header, so a browser that has visited once will refuse to talk to it over plain HTTP. The only third-party network call made with statement content is the one to the model, also over TLS.

Who else touches what

  • Vercel hosts the application and runs the AI Gateway. Functions run in the Stockholm region.
  • Google runs the model that reads the pages. Content is processed transiently and not used for training.
  • Neon holds the metadata database (US East). It contains the metering records above, your account id and email, and your subscription status. No statement content.
  • Clerk handles sign-in. Polar handles payment as merchant of record, so card details never reach us.
  • X receives a measurement signal — that a visit happened, and that a conversion happened — but only from people who arrived through one of our adverts on X. It is loaded for nobody else, and it never receives a statement or anything out of one. If you did not click an advert to get here, no advertising script runs on this page at all.
  • PostHog (US) receives, for the same advert visitors only, which pages were opened and what was clicked, and a recording of the screen in which every input is masked and the converted statement itself is blanked out — the rows, the amounts and the file name are never sent. It sets no cookie; it keeps a random visitor id in your browser's local storage, tied to no name or email. It exists to show where people arriving from an advert stop, and it runs for nobody who did not.

Who is behind this

StatementSheet is built and run by Bunyod, a developer in Tashkent, Uzbekistan. It is one person, not a team, and the same person answers support@flexart.app. Payments are handled by Polar as merchant of record, so your card details go to a licensed processor rather than to a one-person company.

What we do not have

No SOC 2 report, no ISO certificate, no penetration-test letter. StatementSheet is a one-person company and has not bought an audit. What it offers instead is a design in which the sensitive data does not persist, which you can check from the outside: ask us for a copy of your uploaded statement and there is none to give.

For a client file

If your firm needs this in writing, email privacy@flexart.app and we will send a signed statement of the above. Account data can be deleted on request within 30 days, as set out in the privacy policy. Anything else: support@flexart.app, a person answers within a day.