Phone → Computer FAQ
Twenty questions, answered the way we'd want them answered.
Conclusion first, then the mechanism, then what you should actually do. If an answer is "we don't know", the answer says that.
Group 1
Can I use it
Can I download it right now?
Both the Windows x64 and macOS Apple Silicon packages can now be downloaded directly from the download page. The macOS build has no Developer ID signature and has not been notarized by Apple, so its first launch may be blocked.
Approve it only for a trusted, unchanged download — see Before you install. The Windows build has not been verified on real hardware and may trigger SmartScreen on first launch. Full steps are in the Windows and macOS sections of the download page.
Does the phone have to install an app?
No. What opens is a web page, and it is the full product — pick files, pick the target folder, watch progress. Nothing is missing from the web version.
An app may exist later as another option (with a long-lived device key so you don't re-scan every time). That is optional. The web page is not a trial version.
What to do: just scan the code.
Does it need internet? An account? Does it cost money?
Internet: no. It runs entirely on your own local network. Unplug the WAN and it still works.
Account: no. There is no account system, and none is planned.
Money: it isn't charging anything right now — which is not the same as "free forever". No pricing has been decided and no release date is being given, because we can't keep a date we haven't earned.
Group 2
Connecting & permissions
It just spins and never connects. What's wrong?
Nine times out of ten it's one of two things: not actually the same Wi-Fi, or a system permission that was refused.
The phone may be on mobile data, or on the neighbour's network, while the computer is on Ethernet. Those are different networks and nothing will tell you so — it just waits.
Or Windows / macOS asked once for permission to talk to the local network and you clicked "don't allow". That failure is silent.
What to do: compare the network name on the computer screen with the phone's, then check the permission — the two system gates.
Windows threw a firewall dialog at me. Which box do I tick?
"Private networks" — and Allow.
Private means your home / your own network. Public means café, airport, anywhere you don't control. Ticking Public widens who can reach the app for no everyday benefit.
⚠️ The portable build doesn't write firewall rules at all, so you may see the dialog again on each launch. That's expected, not a bug.
What to do: Private only, unless you have a specific reason not to.
I clicked "Don't Allow" on macOS. How do I fix it?
System Settings → Privacy & Security → Local Network, turn the switch on for this app, then restart the app. (Windows equivalent: Windows Security → Firewall → Allow an app.)
Why this one is nasty: nothing looks broken. The QR code is on screen, the UI is fine. The app simply never hears from the phone, and the phone just spins. The phone can't know that the computer refused a permission.
The QR code won't scan.
Type the address by hand. It's printed on the computer screen, something like http://192.168.1.23:8787. Same result as scanning.
Watch for lowercase L next to 1 and 0 next to O. The port is digits only.
Codes are also normalized: full-width 123456 is accepted as 123456. Wrong codes still count against a rate limit — but it's per source IP, so one person fumbling doesn't lock everyone out.
Group 3
Sending files
How big can a file be? How slow will it be?
No hard size cap. The design targets multi-gigabyte videos.
Files over 16 MiB go chunked. Chunk size is clamp(ceil(size / 64), 8 MiB, 32 MiB) — so a 20 MiB file is 3 requests, a 2 GiB file is 64.
⚠️ Uploads are one file at a time, on purpose. Parallel uploads on a home Wi-Fi usually make everything slower and harder to resume. We chose predictable over fast.
What to do: for a big batch, start it and leave the phone alone. Don't lock the screen.
If it breaks mid-file, do I start over?
Within the same run: no. Chunked files resume from the last confirmed byte.
Across an app restart: yes, start over. Staging is cleared on next launch.
"Resume" is real and works within a single app session. Quit the app and the next run starts fresh.
What to do: if something stalls, go back into the same app window and hit retry. Don't quit the app.
Will it overwrite my old files?
Never. If a name already exists at the destination, the new file becomes xxx (1).jpg, then (2), and so on.
The write is also two-phase: stage to a temp location on the same volume, verify the checksum, then publish by rename. A crash mid-transfer leaves a temp file, not a half-written photo in your library.
Can I lock the phone screen while it uploads?
Please don't. On iOS, locking the screen or switching apps freezes the page's scripts and the upload stops.
The bad part is the silence: the phone's stall detector runs on a timer, and a frozen page doesn't run timers. So there's no clear error — the computer's row may just sit at 98%.
There is a server-side watchdog (60 seconds with no bytes → abort and show a readable failure). It's implemented and tested outside the app. What it looks like on a real phone has not been verified.
What to do: keep the screen on. Turn off auto-lock for a big video.
Group 4
Camera roll backup
Is this a one-time dump or incremental sync?
Whatever you want it to be, decided by three filters on the phone page before anything is sent:
- Size — skip the tiny ones or the giant ones.
- Date — today / this week / all / a specific day.
- Content hash — skip anything the computer already has.
Run it once to back everything up. Run it again later and the third filter is what makes it incremental.
Does it sort files into date folders?
Yes, if you turn it on. Two levels, both configurable:
- First level: by capture date (day) / by year-month / by file type.
- Second level: none, or the other axis.
So you can get 2026-10-15/Photos/, 2026-10/Photos/, or just Photos/ — seven combinations in total.
⚠️ Changing the layout later does not move files that already arrived. It only affects new transfers.
Can I send only a few days' worth?
Yes. Scope options: today / this week / all / a specific day.
⚠️ The date is the file's modification time, not capture time. The phone page can't read EXIF. The computer classifies by EXIF later, for JPEG / MP4 common paths. So a photo imported from somewhere else might land on a different day than you'd expect — and "select today, get nothing" is possible.
Rejected rows stay visible, each labeled with its own date, and there's a "send these too" button to rescue them in one tap.
Will the same photo get sent twice?
Depends on whether content deduplication is on. It is off by default.
On: the phone computes a hash of each file and asks the computer whether it already has that content. Files under 64 MiB get a full SHA-256. Larger files get sha256-sampled-v1 — head 4 MiB ‖ tail 4 MiB ‖ little-endian length.
⚠️ The sampled variant is a size-and-edges fingerprint, not a cryptographic full-content hash. Two different files with the same size and the same first/last 4 MiB would collide. For photos and videos that's unlikely; it is not "impossible".
⚠️ The first time you turn dedup on, the ledger is empty — so yesterday's batch gets sent again once, to build the index. One time only.
⚠️ If dedup is off, the page does not show "already on PC: 0" anywhere. Zero would mean "we checked and found none", when actually "we didn't check". So we don't show a zero that would mislead.
Group 5
Security
Can someone else see my files?
At home: not in any realistic way. On a shared network: yes, potentially.
Transfer is plain HTTP — not encrypted. On a network where someone is actively sniffing, the bytes are visible. At home that's usually nobody. At a café, an office, or a dorm, it might not be.
Also: the server listens on every interface (0.0.0.0). "Same Wi-Fi" is not a security gate — credentials are.
What to do: home = fine. Shared networks = don't use it for anything sensitive. See why plaintext HTTP.
Is a 6-digit code actually safe?
Against casual attempts: yes. Against someone determined: no.
One million combinations, rate-limited to 5 wrong tries per 10 minutes per source IP. That stops curiosity. It does not stop effort.
Two more things that weaken it, stated plainly: the code is printed on the same screen as the QR code (anyone who can see your screen can read both), and it is stored in plain text in settings.json — because the app has to show it to you.
What to do: use the two-gate setup (password + computer confirmation) when strangers share the network.
Why does it open a port at all?
Because that's how the phone reaches it. Without a listening port there is no local transfer; you're back to cables and cloud drives.
The question worth asking is not "does it open a port" but "what stands in front of it". The answer here: credentials. Exactly five doors work without any credential, and each one has a reason — they're listed on the security page.
Group 6
Your data
Does anything get uploaded to the cloud?
No. Files, settings, and the deduplication ledger all live on your computer. No accounts. No analytics. No remote backend.
There is exactly one outbound channel: a mobile-page update mechanism, so the phone page can be improved without repackaging the desktop app. It is off by default — no update source configured means no traffic at all — and anything it downloads is verified with a signature and served as static files, never loaded as code.
Can I see what I transferred before?
Not really. The transfer list is in memory only, capped at 200 entries, and gone when you quit the app.
That's a design choice. We don't want a durable log of every file you've ever moved sitting on your disk. The files themselves are the record.
What to do: open the destination folder. That's your history.
Want the full picture?
The capability overview is the most useful thing on this site.