Fidra / Local Sync guide

Sync guide

Set up Local Sync without running a server

Local Sync lets every device keep its own local Fidra database while the app exchanges encrypted update bundles through a shared folder. In practical terms, the folder acts like a mailbox for updates. Nobody works directly on the same SQLite file.

Needs

A shared folder that every device can read and write.

Best fit

Small clubs that want team editing without provisioning Postgres.

Storage model

Each device keeps its own local ledger and imports updates from the folder.

Security

Bundles are encrypted before they leave the device.

Fidra - Transactions
Fidra transactions view

Local Sync does not change the day-to-day interface. It changes how updates travel between devices.

Before you start

What you need ready

Local Sync is deliberately light on infrastructure, but it still works better if one person sets the initial shape of the group properly.

Shared folder

One place every device can reach

Use a folder that all participating devices can read and write, such as a shared cloud drive or a network share you already trust.

Passphrase

One strong team secret

This passphrase protects sync bundles in the shared folder. It is part of the setup, not something members need to retype every day once their accounts exist.

First admin

One person to start the group

The first device creates the first admin account. That person can then invite other members and manage roles if you want access control enabled.

Separate files

One Fidra database per device

Every machine keeps its own local .fdra file. The folder carries updates between them; it is not a place where everyone opens the same file.

Setup

First device, then the rest

There are really two workflows: start the group on one device, then let the rest join from the latest snapshot.

Start the first device

This is the device that defines the shared folder, the sync passphrase, and the first admin account.

  1. 1

    Open Settings and choose Local Sync

    Use the Local Sync setup flow rather than putting the database itself in a shared folder.

  2. 2

    Choose the shared folder and set the passphrase

    Fidra validates the folder, stores the sync settings for that device, and prepares the sync structure.

  3. 3

    Create the first admin account

    The first admin account is tied to the sync group and can invite other people later.

  4. 4

    Invite members and create a snapshot

    Invite codes make member onboarding cleaner, and a snapshot gives new devices a fast starting point.

Join another device

New devices join the existing group and receive the current data into a fresh local database file.

  1. 1

    Choose Join Local Sync Group

    This flow is designed for a device that does not already own the shared history.

  2. 2

    Select the same shared folder

    Fidra reads the latest snapshot and any newer bundles from that location.

  3. 3

    Join by invite code or by shared passphrase

    Invite-code onboarding also lets the joiner set their own password as part of the process.

  4. 4

    Choose where to save the new local database

    The resulting file lives locally on that device and then stays in sync with the group going forward.

How it works

In plain English

Local Sync treats the shared folder as a secure exchange point for updates. The live working copy stays on each device.

1

You edit locally

Your device writes the change into its own SQLite database first, so the app stays responsive and usable offline.

2

Fidra packages the update

Changed rows are bundled into compact sync files, and those files are encrypted before they are written to the shared folder.

3

The folder acts as a mailbox

Other devices watch that folder, notice new bundles, and import them when they appear.

4

Each device merges locally

Incoming changes are applied to the local database, and anything sensitive enough to need a human decision is queued for review.

Encryption and accounts

Local Sync bundles are encrypted with AES-256-GCM. Once your team has local accounts, the passphrase can be wrapped into each member account so people sign in normally instead of carrying the raw sync secret around.

  • The shared folder carries encrypted bundles, not plaintext finance data.
  • Invite codes let members activate their own passwords on the joined device.

Snapshots and catch-up

Fidra can create full-state snapshots. New devices bootstrap from the latest snapshot and then replay newer bundles, which is much faster than replaying the entire history from scratch.

  • Snapshots shorten onboarding time for new devices.
  • Older bundles can be compacted once a newer snapshot covers them.
Conflicts and roles

What happens when two people overlap

Most edits merge quietly. The important part is what happens when they should not.

Conflicts are surfaced, not hidden

If two devices touch a critical field in incompatible ways, Fidra surfaces that for review instead of silently choosing a winner where the user would care.

  • Non-overlapping changes usually merge automatically.
  • Critical collisions are queued so someone can keep local, accept remote, or resolve manually.

Access control is optional

Local Sync can stay simple, but it also supports admin and member roles if the group wants more controlled access than a shared passphrase alone.

  • Admins can invite members and manage the group.
  • Members can sign in with their own password once invited.

Need live infrastructure instead?

If your club already has a Postgres setup or wants live server-backed sync, the Cloud Connect guide is the better next read.