EN
halvr icon

halvr, Data Usage

How your data flows through the app

This page explains exactly which data halvr stores, where it lives, and what it is used for. For your rights and legal basis, see the Privacy Policy.

How data flows when you import a statement

1

You upload a bank statement file

The file (Rabobank CSV or AMEX PDF) is sent to halvr's backend, parsed to extract transactions, and then discarded, halvr does not retain the file itself. If you've connected Google Drive (optional), you can choose to save a copy to your own Drive folder for your records.

2

halvr parses the file in memory

The parser reads each row and maps it to a transaction object (date, merchant, amount, description). Nothing is stored at this stage, you see a preview first.

3

You select which transactions to submit

Recurring patterns are auto-checked. You review the rest. Only the transactions you check are submitted to the shared ledger. Unchecked rows are discarded.

4

Selected transactions are written to Supabase

Each submitted transaction is stored as an expense_line row in the shared book, with your user ID, the period, category, frequency, and any comment you added.

5

An audit event is logged

A single audit event records that a statement was submitted, the number of lines, the period, and metadata (IP address, user agent). Individual transaction amounts are included in the event payload for audit completeness.

What is stored where

DataStored inPurposeDeleted when
Profile (name, email) Supabase Account identity and sign-in On account deletion request
Expense lines (transactions) Supabase Shared ledger, balance calculation Soft-delete only, record preserved with "removed" status
Settlement records Supabase Immutable monthly reconciliation Never, permanent financial record
Recurring patterns Supabase Auto-select transactions on import When you delete them in the app
Audit events Supabase Tamper-evident change log Never, append-only by design
Bank statement files Not stored by halvr Read in memory to extract transactions, then discarded Immediately after parsing
Bank statement files (optional copy) Your own Google Drive Personal archive, only if you connect Google Drive When you delete them from your Drive
Payment details (IBAN, account holder name) Supabase Generate a payment QR code for settling up When you remove them from your profile, or on account deletion
2FA secret (TOTP) Supabase Auth Two-factor login verification When you disable 2FA, or on account deletion

The audit trail in detail

halvr uses a checksum-chained audit log. Each event stores a hash of the previous event's checksum combined with the new event's data. This makes it possible to detect any modification or deletion of audit records, because the chain would break.

The following actions generate an audit event:

Each event records your user ID, a timestamp, your IP address, your browser user agent, and the relevant data (amounts, IDs, status changes). IP address and user agent are logged for security purposes.

What halvr does NOT do

Data access within a shared book

When two or more people share a book in halvr, all members can see:

Members cannot see each other's unsubmitted statement data, personal recurring patterns (not linked to a shared book), or account details beyond the display name.

Requesting your data or deletion

You can request a full export of your data or ask us to delete your account and profile. For the reasons explained above, expense lines and audit events cannot be removed, but we can anonymise your user ID from the historical record if you no longer use the service.

Email info@edexplore.app with your request.