Don’t take Fin’s word for it

Verify it yourself in five minutes

100% local — provable, not just promised

2Fin Desktop says your financial records stay on your machine. Here is how to test that with your own tools, on your own computer, without trusting anything on this page.

  1. First, capture with your normal connection — nothing blocked

    Start your monitor before turning anything off. This is the stronger test: it shows whether the app phones home on its own, not just whether it can be stopped from doing so.

  2. Use the app for a few minutes, still connected

    Import a CSV of transactions, categorise some of them, open a report, and produce a tax export. Nothing here is blocked — if 2Fin sent anything during these operations, this capture would show it.

  3. Read that first capture

    You should see no outbound connections from the 2Fin process, even though your connection was fully available the entire time. That is the real claim — not "it can be stopped," but "it never tried."

  4. Now switch Airplane mode on and repeat

    In 2Fin Desktop, click the "On this PC" chip in the top bar to open the "Where your data lives" panel, and turn Airplane mode on. Run the same workflow again. Everything on your machine keeps working — importing, categorising, reports, tax exports — and the capture stays as empty as the first one, which confirms the toggle genuinely blocks rather than just going unused.

  5. Now turn one connection back on

    Switch Airplane mode off and ask Fin to categorise something. The capture shows exactly one destination, and the app's own outbound log shows the same request. The two agreeing is what makes the log worth trusting the rest of the time.

The exact commands

macOS / Linuxtcpdump, excluding loopback
sudo tcpdump -i any -n "not host 127.0.0.1 and not host ::1"

Excludes loopback, because 2Fin talks to its own local server on 127.0.0.1 — that traffic never leaves your machine. tcpdump captures every process on your machine, not just 2Fin: close other network-heavy apps first, or use a per-process tool below for genuine attribution.

macOSPer-process, with Little Snitch or Lulu
(open the app, filter the rule list to "2Fin")

A per-process firewall is the clearest view: it shows attempts, not just packets, so a blocked attempt would still be visible.

WindowsWireshark, excluding loopback
not ip.addr == 127.0.0.1 and not ipv6.addr == ::1

Paste into the Wireshark display filter. Use Resource Monitor to confirm which PID belongs to 2Fin.

AnyCut the network entirely
(turn off Wi-Fi and unplug ethernet)

The bluntest test of all: the app should carry on working normally. Anything requiring a connection says so plainly instead of failing silently.

What you are actually testing

Two different things, and it is worth separating them. The first is whether the app can work with no network at all — that tests where your records live and where the work happens. The second is whether the app’s own log of outbound requests tells the truth, which you test by turning one connection back on and checking that the capture and the log agree.

The second is the one that matters long term. Nobody runs a packet capture forever. But if the log matched reality when you checked, it is reasonable to rely on it afterwards — and that log is in the app, showing every request Fin has ever made, in counts rather than content.

The log records counts and destinations rather than the rows themselves for a deliberate reason: a log holding your transaction text would become exactly the copy of your data the claim says does not exist.

Questions people ask

Why does 2Fin Desktop show traffic to 127.0.0.1?

The app runs its own small server on your machine and the window talks to it. 127.0.0.1 is your own computer — that traffic never reaches your network card, let alone the internet. Filter it out of your capture and what remains is genuine outbound traffic.

What should I see when Airplane mode is on?

Nothing outbound from the 2Fin process. Importing, categorising with saved rules, reports and tax exports all run on your machine, so none of them need a connection.

What will I see when I turn a connection back on?

Exactly one destination per feature you use, and the same request recorded in the app's own outbound log — described in counts rather than content. If the capture and the log ever disagreed, the log would be the thing to distrust.

Can I do this on the cloud version too?

The cloud version is a website, so of course it talks to 2Fin — that is what it is. This test is for the desktop app, where the claim is that your records stay on your machine.

Read the whole story

What 2Fin Desktop keeps on your machine, what leaves and when, and how the free tier works without an account.

2Fin Desktop