Security and your data at Abacus & Olive

Last updated: June 23, 2026

We know you’re trusting us with sensitive financial information — account balances, credit card transactions, real estate equity, investment values, beneficiaries. This document explains what we do (and what we don’t do) to keep that data safe. It’s written to be honest and specific. If anything here is unclear or you want more detail, email us at info@abacusandolive.com.

The short version

Where your data lives

Your financial data is stored in a PostgreSQL 17 database managed by Supabase, in their US-East-1 region (Northern Virginia, USA). Supabase runs on AWS infrastructure, which is SOC 2 Type II, ISO 27001, PCI DSS, and HIPAA certified at the infrastructure level.

Your uploaded files (receipt photos, etc.) live in either:

Our web application is hosted on Vercel, a global edge platform. Vercel doesn’t store your data — it just serves the HTML, JavaScript, and CSS that make up the Abacus & Olive interface.

Payment processing is handled entirely by Stripe. Stripe is PCI DSS Level 1 certified — the highest level. Your credit card number never touches our servers. It goes from your browser directly to Stripe, who returns us only a payment-method token (an identifier we use to charge subscriptions through them, but which is useless to anyone else).

How we protect access to your account

Your password is hashed with bcrypt before being stored, with a unique per-user salt. We genuinely cannot read your password — even if someone broke into our database, they wouldn’t get a usable list of credentials. If you forget it, you reset it (we email you either a one-time link or a 6-digit code, your choice).

Sign-in sessions are stored in your browser as encrypted JWTs (JSON Web Tokens). They auto-expire after a period of inactivity, and our app force-signs-you-out after extended idle time (currently 30 minutes) on every device.

Two-factor authentication is supported. We strongly recommend turning it on (Settings → Security → Two-Factor Authentication). Use an authenticator app — not SMS — for the strongest protection against account takeover.

Device limits. A single account can be active on up to 4 devices at once (configurable). When you exceed the limit, we ask you to pick a device to sign out before letting the new one in. This means if your phone is stolen, you can sign in elsewhere and revoke the phone immediately.

How we isolate customers from each other

Every database table that contains user-specific data has Row Level Security (RLS) policies enforced at the PostgreSQL level. RLS means a query like “give me all transactions” doesn’t return all transactions in the database — it only returns rows where the caller’s authenticated identity matches the row owner. This isn’t a check in our app code (which we could forget to write); it’s a check inside the database itself.

The practical result: even if a logged-in attacker somehow crafted a malicious query, the database would refuse to return anyone else’s rows. We rely on this as the primary isolation guarantee, not just as a backup.

Inside a household (where you’ve invited a spouse, partner, or family member), the members you’ve granted full access to can see everything in that household. Members granted limited access can only add receipts. You control the invite codes, you control who has which role, and you can remove a member at any time from Settings → Household.

How we encrypt your data

In transit: every connection between your browser and our servers uses TLS 1.2 or higher (HTTPS). You can see this in your browser’s address bar — there’s no HTTP fallback.

At rest: the Supabase database, Supabase file storage, and AWS-backed infrastructure all encrypt data on disk using AES-256. This means if someone physically stole a drive from an AWS data center, they couldn’t read the contents.

Database backups (we keep nightly snapshots) are also encrypted.

How we monitor for problems

What we don’t store (and never will)

Backups and disaster recovery

We take a nightly snapshot of your household’s data and store it in encrypted form. If you’re on the “Bring Your Own Cloud” plan, the snapshot also goes to your cloud folder so you have an independent copy you can keep even if you cancel.

You can also download a full JSON export of your household’s data at any time from Settings → Household → Download backup. This gives you a copy of every transaction, account, bill, property, receipt, and beneficiary you’ve ever entered.

If we ever experienced a catastrophic failure of our primary database, we could restore from the most recent snapshot — typically losing at most 24 hours of data.

Subprocessors

We share specific slices of your data with the following service providers, each only with the data needed to perform their job:

ServiceWhat they receivePrivacy policy
SupabaseThe full database (authentication, transactions, accounts, etc.)Privacy policy
VercelWeb hosting; sees HTTP traffic but not database contentsPrivacy policy
StripeYour credit card details, billing email, charge historyPrivacy policy
AnthropicOnly the chat messages you send to our AI assistant (“Stache”). Under our Commercial Terms with Anthropic, your data is not used to train AI models.Privacy policy · Commercial Terms
SentryError stack traces and limited app state (for debugging crashes)Privacy policy
MailerLiteYour email address and name, used to send newsletters and product update emails you’ve subscribed toPrivacy policy
Google (Gmail / Workspace)Email delivery for receipts, password resets, and notificationsPrivacy policy

If we add new subprocessors in the future, we’ll update this list and notify active subscribers by email.

Our internal security practices

A short list of things we do behind the scenes that customers don’t usually see:

Bring Your Own Cloud (BYOC)

If you’d rather keep your receipt photos and database backups on your own infrastructure, our BYOC plan lets you connect Google Drive, OneDrive, or Dropbox. The app reads and writes to a sandboxed folder in your cloud, and we never touch the underlying file storage.

This is a great option if you have strict data-residency preferences, a corporate compliance policy, or just want belt-and-suspenders ownership of your financial records. There’s a small monthly discount on the BYOC plan because we don’t carry the storage cost.

You can switch between BYOC and our Hosted plan at any time from Settings → Billing.

Reporting a vulnerability

If you discover a security vulnerability in Abacus & Olive, please email info@abacusandolive.com with the details. We treat security reports seriously and respond within 48 hours.

Please don’t publicly disclose vulnerabilities before we’ve had a chance to fix them. We commit to:

We don’t currently run a paid bug bounty program, but we genuinely appreciate good-faith reports and will thank you publicly.

A note on honesty

No software is 100% secure. We’ve done our best to make the right architectural choices (database-level isolation, end-to-end encryption, two-factor everything, professional subprocessors), but anyone who claims their system can never be breached is selling something.

What we can promise:

Questions? Just email info@abacusandolive.com. We read every message.

— John and Jess
Abacus & Olive