Skip to content

How we protect your invoice data

The concrete technical and organizational controls behind the Service, written in plain language. Every claim on this page maps to production code or a named sub-processor.

TLS enforced
No data sold
Per-workspace isolation
US-hosted

See the controls and their current limits.

Retention windows, role-based access with eight roles, and a full audit trail of every significant action. Procurement and compliance reviews can verify each one inside a trial workspace.

Inspect the evidence.

Product captures · sample workspace
Activity history in a sample IPP workspace

Look at the timestamp, actor and action together. This sample product capture shows recorded activity, not a live customer feed.

Evidence added to the product library . Select the image to read the original detail.

These are historical captures, not live monitoring. Verify current controls in your trial workspace.

Transport Security

All connections use enforced HTTPS/TLS. No unencrypted connections are accepted at any endpoint.

TLS enforced on all API and web endpoints
HSTS headers with strict transport security
Session cookies are Secure and HttpOnly; requests that change data must come from our own site

Credential Storage

Passwords are hashed with bcrypt. API keys, password-reset tokens and two-factor recovery codes are stored only as hashes. Two-factor secrets, client upload-link tokens and accounting connection tokens (QuickBooks Online, Xero, Zoho Books) are encrypted at rest using Fernet symmetric encryption with a server-held key.

Passwords hashed with bcrypt; API keys hashed with SHA-256
QuickBooks, Xero & Zoho OAuth tokens Fernet-encrypted at rest
Full API key shown only once at creation

Data Isolation

Each workspace's invoice data is scoped at the query layer: every request for workspace data is checked against the signed-in user's membership, and queries are filtered to that workspace. Files are stored per-workspace in Cloudflare R2 (US region) and extracted data is scoped per-workspace in our Postgres database. Stored files are encrypted at rest by our storage provider: Cloudflare R2 encrypts every object and its metadata automatically.

Membership checked on every workspace request; queries scoped per workspace
Files stored in Cloudflare R2 (US region), scoped per workspace
Stored files encrypted at rest by Cloudflare R2 (every object, by default)
Postgres on Railway (US region), per-workspace row filtering

Access Controls

Eight roles, each a set list of what that person can do, with per-person switches for bank statements, revenue and margins, sending to your accounting system, downloads and deleting invoices, and an approval limit per person. Permissions are enforced at the API layer, not just in the UI. Every significant action is logged.

Owner, Admin, Finance manager, AP clerk, Approver, Operations, Viewer and Uploader
API-layer permission enforcement — not just UI gating
Audit log on all significant actions

Data Retention

You choose how long we retain your original uploaded files: 7 years, 3 years, 1 year, or Permanent. Extracted data is retained for the life of your account. Automatic age-based deletion of workspace files is not running yet — your setting is recorded and will govern that sweep when it is enabled. An invoice you delete goes to Trash for 30 days, then it and its file are permanently deleted. Closing your account permanently deletes every workspace only you belong to.

7 years / 3 years / 1 year / Permanent — today one setting, stored on the first workspace the owner created
Age-based automatic deletion is not yet enabled for workspace files
Deleted invoices stay in Trash for 30 days, then are permanently deleted with their files
Closing your account deletes the workspaces only you belong to; a shared workspace passes to another member
Deleted data can stay in backups for up to 30 days, and in encrypted monthly database archives for up to 12 months

Infrastructure Security

CSRF mitigation via Origin/Referer validation on all state-changing requests. Per-user rate limiting on upload endpoints. Security headers enforced on every response.

CSRF protection via Origin/Referer validation
Per-user rate limiting on upload endpoints
X-Frame-Options, X-Content-Type-Options, CSP headers

Every service that touches your data

Named by role, with the region they operate in. All core infrastructure is hosted in the United States. See our Privacy Policy for the full disclosure including what each provider does with your data.

ProviderRoleRegion
Azure Document IntelligencePrimary OCR / layout extractionUS
OpenAI (GPT-4o)Reads and checks documents (text and page images)US
Cloudflare R2Object storage for original uploaded filesUS
Railway PostgresPrimary application databaseUS
VercelFrontend hosting and edge deliveryUS
Valkey / RedisIn-memory cache and job queue (no invoice content)US
StripePayment processingUS
ResendSending and receiving email (transactional email, invoices emailed to IPP addresses, support correspondence)US
SentryError tracking and performance monitoringUS
SlackOptional approval notifications (vendor names and invoice totals)See Slack service terms
PostHogProduct analytics and session replayUS

Authentication providers

Optional third-party sign-in. These providers authenticate your identity only — they never receive invoice content, extracted data, or account data beyond the email address they return to us.

ProviderRole
GoogleOptional "Sign in with Google" — authenticates identity and returns a verified email. Receives no invoice or account data.
MicrosoftOptional "Sign in with Microsoft" — authenticates identity and returns a verified email. Receives no invoice or account data.

All infrastructure is US-hosted

Our primary database (Railway Postgres), object storage (Cloudflare R2), and extraction pipeline (Azure Document Intelligence and OpenAI) all operate in the United States. If you access the Service from the European Economic Area, the United Kingdom, Switzerland, or any other region outside the United States, your data will be transferred to, stored, and processed in the US in the ordinary course of providing the Service.

We don't offer a signed Data Processing Addendum (DPA) yet. Email security@invoiceparserpro.com and we'll tell you where it stands.

Where we are. Where we're going.

The controls above include their current limitations, including the retention sweep that is not yet enabled. The items below are on the roadmap but not yet in place. We will update this page when their status changes.

SOC 2 Type IIPlanned
Signed Data Processing Addendum (DPA)Not offered yet
SSO / SAMLPlanned

Questions about security?

We answer technical security questions directly. Email security@invoiceparserpro.com.

We aim to acknowledge security inquiries within one business day.

Last updated: October 8, 2026