SwiftInvoicer
Free: 3 PDFs every 24 hours

Privacy Policy

Last updated: October 7, 2026

Draft for attorney review. This page describes how the site works today. It is not legal advice.

What a free download stores

The browser sends the invoice you typed to our server so we can build the preview and the Basic PDF. The free download route does not insert a row in the order database. It does not keep the business name, client name, addresses, logo, or line items after the PDF is sent.

We do store a tally so the limit of 3 Basic PDFs per rolling 24 hours can be counted. That tally is a random device id inside an httpOnly signed cookie named si_fd, plus a salted hash of the IP address. The raw IP address is not written to that table. Rows older than 48 hours are deleted. A shared network has a higher backstop of 12 downloads in the same window so one office is not capped at 3. That higher number is not the allowance we advertise.

What checkout stores

We chose to keep storing the full invoice when you start a paid checkout, before Stripe confirms payment. The paid PDF is rebuilt from that saved row. The server does not accept a different invoice after you pay. The row includes the email you typed, if any; the sanitized invoice (names, addresses, phone, email, website, tax ID, logo image data, line items, totals, notes, and payment instructions); the amount in cents; the Stripe PaymentIntent id; and a status of pending. If Stripe reports success, the status becomes paid. If Stripe reports failure, the status becomes failed.

Pending and failed checkout rows are deleted after 30 days. Paid order rows are not deleted by the application. They are kept so the PDF can be downloaded again and so an optional email copy can be sent. Card numbers are handled by Stripe. We do not store your full card number.

Google Analytics

Every page loads Google Analytics 4, measurement ID G-ZJ4YFLKPFT, from https://www.googletagmanager.com/gtag/js. Google may receive the page address, referring address, and general device and browser data, and may set its own cookies. We do not send invoice field values to Google Analytics. The application code does not include a Meta, TikTok, or other advertising pixel. Whether a consent banner is required is a question for a lawyer. This draft does not add one.

First-party events and the checkout limiter

The browser stores an anonymous client id in localStorage and sends product events to our server: event name, that client id, the path, the referrer, the user agent, and a small metadata JSON. A free download event records the template, the total, and the currency. It does not record line items. The checkout route also keeps a short-lived in-memory count of requests per IP address to slow repeated attempts. That count is not written to the database. Server or Cloudflare logs may still record IP addresses. This policy does not control those logs.

Contact

Questions about a download or a charge? Email [email protected], or use the contact page.