Early development. Windows first.
Deliver finished work. Exactly as you made it. No watermark. No recompression.
Handoff is a free, open-source desktop app for sharing completed projects. Add the files, send a private link, and your client previews and downloads the originals from your own computer.
What you do
- brand-film-master.mov 3.8 GB · stored as uploaded
Payment is between you and your client.
What your client sees
Nothing yet. Create a link to send.
- you uploaded brand-film-master.mov (3.8 GB, SHA-256 recorded)
Try it: create a link, then switch to view-only and see what that does and doesn't do.
- Video Preview
- Images Preview
- Audio Preview
- PDF Preview
- Text Preview
- Archives Download
- Documents Download
- Design files Download
- Software projects Download
Handing over finished work shouldn't cost you quality
Chat apps and email get in the way
Many chat and email services cap file size or recompress what you send, so your client may not receive the file you actually made.
A preview is not the real thing
Watermarked or low-quality previews make good work look worse, and the client still has to wait for the real files.
You send a link and hope
There's usually no record of whether the client opened it, or whether it still works next week.
From finished work to your client's download
Four steps. Payment is yours to arrange, and Handoff stays out of it.
-
Outside Handoff
Agree terms and payment
Between you and your client, any way you like. Handoff never takes, checks or enforces payment.
-
Add the finished work
Any file type. Each file is copied as it is, with its SHA-256 recorded, so nothing is changed on the way.
-
Create a private link
Choose view and download, or view only. Add a password, an expiry or a download limit if you want. Send it on WhatsApp, email or anywhere.
-
Your client previews and downloads
Supported files play in the browser. Everything else downloads directly. You can revoke the link at any time.
Your files are never altered. No compression, resizing or watermark.
Illustration of the client page.
What your client sees
One page. No sign-up, no app to install.
- The actual work, previewed in their own browser where it can be.
- A direct download of the original file, with its size and SHA-256 so they can check it.
- If you revoke the link or it expires, a plain page says it is no longer active.
What you get, and when
Each card shows where it stands. Only the Windows app has been built and tested so far.
- MVP
Originals stay original
Files are stored byte for byte as uploaded. No compression, resizing, transcoding or watermark, for preview or download.
Quality - MVP
SHA-256 on every file
Recorded while the file uploads and shown to the client, so either side can check a download.
Quality - MVP
Uploads of any size
Streamed to disk in small chunks. A free-space reserve and a stall timeout protect the machine instead of a fixed size limit.
Quality - MVP
Private, revocable links
Unguessable links that stop working the moment you revoke them. Only a hash is stored for checking, and the link itself can be copied again.
Sharing - MVP
Password, expiry, download limit
Add any of them to a link. A page view never counts as a download.
Sharing - MVP
View-only links
No download button. They discourage casual saving and cannot prevent copying, and the page says so.
Sharing - MVP
Activity log
See when a link was opened, previewed or downloaded.
Control - MVP
Previews in the browser
Images, MP4 and WebM video with seeking, audio, PDF and text, using the browser itself.
Client - MVP
One-click desktop app
One Handoff.exe starts everything on Windows. The owner dashboard stays on your computer.
Desktop - MVP
Your data on your disk
A database for records and plain files for the originals, in one folder.
Desktop - MVP
Backup, restore, verify
Commands for a consistent backup, a restore, and a re-check of every stored file. Link keys are never included in a backup.
Desktop - Planned
Download all as ZIP
One archive of everything on a link, streamed without loading it into memory.
- Planned
Resumable uploads
For uploading from another computer over a slow connection.
- Planned
Email notices
Optional, using an email server you provide.
Any kind of finished work
Previews use your client's browser, so some formats won't play. Those download directly, and the file is never converted. Handoff never runs uploaded code, and HTML or SVG files show as plain text.
- Preview
Video
MP4 or WebM that the browser can play, with seeking. ProRes and many MKV files download instead.
- Preview
Images
PNG, JPEG, GIF, WebP and AVIF. HEIC, RAW and PSD download.
- Preview
Audio
MP3, AAC/M4A, Ogg, WAV and FLAC where the browser supports them.
- Preview
PDF
Drawn page by page on view-only links, so the browser's save and print buttons aren't offered. Shown in the browser's own viewer otherwise.
- Preview
Plain text
Shown as text, up to 2 MB.
- Download
Documents, archives, design files
Word, ZIP, PSD, AI and similar files download exactly as uploaded.
- Download
Software projects
Shared as an archive. Nothing you upload is ever run.
- Planned
Website demos
Static demos in an isolated frame, in a later release.
You decide who can open it, and for how long
Every link can be revoked, given an expiry, protected with a password or capped by download count. Opening the page never uses up a download.
| View and download | View only | |
|---|---|---|
| Preview in the browser | Yes | Yes, for types a browser can show |
| Download button | Yes, the original file | No |
| Files with no browser preview | Download directly | Not available on this link |
| Can the client keep a copy? | Yes, by design | Yes. The browser still receives the file, so saving it or recording the screen can't be stopped |
| Revoke, expiry, password | Yes | Yes |
| Download limit | Yes | Not applicable |
View-only is a courtesy, not protection. It discourages casual saving. Don't use it for anything that must not be copied.
Run it yourself, and be clear about who can reach it
On your computer
The simplest way to try it, and on the same Wi-Fi it works for others too.
Clients elsewhere can't open the links, and nothing works while your computer is off.
A tunnel service
No router setup, and it works from behind a home network.
A third party carries your traffic and can in principle see it. Check its current terms, address stability and file-size limits.
Your own server
Always on, and fully yours.
Costs money and needs some server skills.
A local install is not reachable from the internet by itself, and links work only while your computer is on. Handoff uses two ports: the owner dashboard stays on your computer, and only the client share port is meant to be reachable. A guide is planned for the docs.
git clone https://github.com/Suro026/HandOff.git
pip install -r requirements-desktop.txt
python -m handoff desktop What Handoff can't do
It makes delivery cleaner. It can't make a dishonest client honest, or your laptop a data centre.
- It can't take, check or enforce payment. That is between you and your client.
- It can't stop a client from keeping, copying or sharing files they can see or download. View-only doesn't change that.
- It can't take back a file once it has been downloaded.
- It doesn't scan uploads for malware, and it doesn't encrypt end to end. A tunnel provider can in principle see traffic.
- It can't keep links working while your computer is off or offline.
- It is not a marketplace, a payment processor or a general cloud drive.
Where it is heading
Plans can change. A smaller scope that works beats a wide one that doesn't.
MVP (v0.1) MVP
- Streamed uploads with disk-space safeguards
- Originals stored untouched, with SHA-256
- Private links: revoke, password, expiry, download limit
- View-only links
- Browser previews and direct downloads
- Activity log
- Windows desktop app with Quick Share and same-Wi-Fi sharing
- Backup, restore and verify
v0.2 Planned
- macOS and Linux builds, tested
- Download all as ZIP
- Resumable uploads
- Static website demos on an isolated origin
- Email notices
- Listing the contents of archives
- More languages
Later Later
- Opt-in sandboxed demos
- S3-compatible storage
- More than one owner account
Questions
Is it free?
Yes: open source under the MIT license, with no subscription and no platform fees. You run it on your own computer, so there is no hosting bill.
Is the file my client downloads changed?
No. Files are stored exactly as received and served exactly as stored. There is no compression, resizing, transcoding or metadata stripping. Each file's size and SHA-256 are recorded and shown, so either side can check a download.
Is there a watermark?
No. Handoff never adds one, to previews or to downloads.
How big can files be?
There is no fixed limit. The server refuses an upload that would leave too little free disk space (a reserve you can set), cancels stalled uploads and removes partial files. If you upload through a tunnel or proxy, that service may have its own size limit.
Will my client be able to play my video?
If their browser supports the format, yes, with seeking. Professional codecs and some containers won't play in a browser, so those download directly. Handoff doesn't promise universal playback.
Do clients need an account?
No. They open the link, and enter a password if you set one.
Does it handle payments?
No. Handoff never takes, holds, checks or enforces payment. Agree that with your client, then send the link when you're ready.
Is a view-only link safe?
It hides the download button and refuses the download address, which discourages casual saving. It can't prevent copying: the browser still receives the file to show it, and screens can be recorded. Use it for convenience, not to guard something that must not be copied.
Can I use it without a domain?
You can try it on your own computer, or on the same Wi-Fi, without one. For clients elsewhere, the share port must be reachable from the internet, for example through a tunnel service or your own server. Some tunnel services give you a web address without a domain. Check each service's current terms yourself.
What happens if my computer is off?
Your links will not open until it is back on, and a laptop on a slow connection serves slowly. A small always-on server avoids this.
Where are my files stored?
On the disk of the computer or server you run it on, in one folder you choose, with plain files for the originals. There is no central server run by the project.
Is it secure?
It is designed with reasonable safeguards: unguessable links stored only as hashes, an owner dashboard that listens on localhost only, and no running of uploaded code. That is not a promise of perfect safety, and a self-hosted setup depends on how you run it. See SECURITY.md in the repository.
Can I contribute?
Yes. Code, tests, translations, docs and bug reports are all welcome once the repository is public.
Follow along or help build it
Star the repository to show interest, or watch it to hear about releases.
Star and watch
Watch the repo on GitHub for releases. Open the repository.
Ask and report
Questions and bug reports go in issues and discussions.
Contribute
Code, tests, translations, docs and testing with real freelancers are all useful. The contributing guide is in the repository.
Watch the repo on GitHub for releases.