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.

Brand film · final delivery Not shared yet

What you do

  • brand-film-master.mov 3.8 GB · stored as uploaded
Link access

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)
Interactive demo. Nothing is saved or sent.

Try it: create a link, then switch to view-only and see what that does and doesn't do.

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.

  1. Outside Handoff

    Agree terms and payment

    Between you and your client, any way you like. Handoff never takes, checks or enforces payment.

  2. 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.

  3. 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.

  4. 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.

  • 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.

    Preview
  • 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.

    Download
  • Website demos

    Static demos in an isolated frame, in a later release.

    Planned

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.

The two kinds of link
View and downloadView only
Preview in the browserYesYes, for types a browser can show
Download buttonYes, the original fileNo
Files with no browser previewDownload directlyNot available on this link
Can the client keep a copy?Yes, by designYes. The browser still receives the file, so saving it or recording the screen can't be stopped
Revoke, expiry, passwordYesYes
Download limitYesNot 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.

Windows: unzip the release to a short folder such as C:\Handoff and double-click Handoff.exe. From source:
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.