Privacy Policy
Last updated September 14, 2026
This page says, specifically, what printachecks.com stores, why, how it is protected, and how to get it deleted. It's written to be read.
What we store
| Data | Why | How it's held |
|---|---|---|
| Email address | It is your login and where sign-in codes and receipts go | Plain text (we have to send to it) |
| Password | Sign-in | Never stored. We keep a salted scrypt hash, from which the password can't be recovered |
| Name and address on the check, bank name | Printed on your checks | Plain text |
| Routing and account numbers | Printed in the MICR line of your checks | Encrypted with AES-256-GCM. The key is held outside the database and outside our code repository. Only the last four digits are stored in readable form |
| Check register | Your record of what you printed: number, date, payee, amount, memo | Plain text |
| Credit balance and purchase history | To know how many checks you can print and to handle refunds | Plain text; includes Stripe's session ID for each purchase, not your card |
| Sign-in codes and sessions | Two-step sign-in | Hashed. Codes expire in 10 minutes; sessions in 30 days or when you sign out |
| IP address and browser type | Rate-limiting abuse and, per session, so you can recognise your own sign-ins | Plain text, tied to sessions and short-lived rate-limit records |
What we don't store
- Card numbers. Payment happens on Stripe's page. Stripe tells us "paid" and which credit pack; the card never reaches us. Stripe's own privacy policy applies to what you enter there.
- Images of your checks. The check is drawn in your browser at print time. We keep the register entry, not a picture.
- Anything from analytics or advertising trackers — there are none on this site.
Who can see your bank numbers
The full routing and account numbers are decrypted for exactly one purpose: sending them to your signed-in browser so it can draw the MICR line on your check. That happens only after you've entered your password and the emailed code. They do not appear in our logs, in emails, on your account page, or in support tools. The server operator can, in principle, access the encryption key and the database; we don't do so except to run the service or when required by law.
Third parties
- Stripe — payments. Receives your email address and the amount.
- Our transactional email provider — sends your sign-in codes and receipts. Receives your email address and the message.
- Our hosting provider — the server the service runs on.
We don't sell or rent your information, and we don't share it with anyone else except as required by law.
How long we keep it
- Your bank account: until you remove it from your account page, or your account is closed. Removal deletes the encrypted numbers immediately.
- Your check register and purchase history: while your account exists.
- Sign-in codes: 10 minutes. Sessions: 30 days or sign-out. Rate-limit records: about an hour.
- Backups: encrypted-at-rest copies of the database are kept for up to 30 days; deleted data ages out of them on that schedule.
Your choices
- Remove your bank account any time from your account page.
- To export or delete everything, or to close your account, email us from the address on the account. We'll confirm within a few days and complete deletion within 30.
Security, honestly
Passwords are hashed with scrypt; bank numbers are encrypted with AES-256-GCM under a key kept off the database; every sign-in needs a one-time email code; all traffic is HTTPS; the database lives on a server with its own service account and no public port. No system is unbreakable. If we ever learn of a breach affecting your data we will tell you by email promptly and say plainly what was exposed.
Changes
If this policy changes in a way that matters, we'll update the date above and, for material changes, email account holders.
Contact
Reply to any email we've sent you, or use the contact address on our site.