Settings

1 · The deliverables

Choose the finished files, or drop them here Images and PDFs get watermarked previews. Everything else is listed in the manifest.

2 · The terms

Add the finished deliverables.

How it works, and what it does not do

The client holds ciphertext. The container is a single HTML file with your work inside it, encrypted with AES-256-GCM. They can open it, read the manifest, see the watermarked previews and verify the SHA-256 of every file, and they cannot extract a usable byte, however long they keep it or whatever they try in the developer console. The key is not in the file.

You release the key yourself, and that is deliberate. The obvious design is automatic: they pay, a webhook fires, a server hands over the key. We do not build that, because we cannot do it honestly. Verifying a payment into your Stripe account requires Stripe Connect, with you onboarded through full identity verification onto someone else's platform, and a service that withholds a key until money moves starts to resemble escrow, which is regulated. Cryptocurrency is worse: a static file has no way to confirm an on-chain payment. Anything claiming to do this automatically, in a container the client already holds, is either lying or has put the key in the file. So you send the key when the money lands. One message: the one you were going to send anyway.

You keep all of your money. The payment link is yours. Upwork and Fiverr take 10–20% to sit in the middle: on a $3,000 project that is $300 to $600 for holding your file. Here the payment goes directly to you and OBSCURA OS takes nothing, because it never touches the transaction.

A watermark is a deterrent, not a lock. Previews are downscaled and marked with your client's name so a leaked screenshot points back at them. Someone determined can still screenshot a preview. That is precisely why the previews are low-resolution and the real files are encrypted: the preview proves the work exists, it does not substitute for it.

Size has a real ceiling. The container has to survive email, base64 inflates the payload by about a third, and the browser holds all of it in memory while building. The practical limit is tens of megabytes, not gigabytes. For a 4K render or a full repository, lock a proof-of-work deliverable here and move the bulk with VAULT once you are paid.

There is no self-destruct, and there should not be. A file sitting on someone else's computer cannot be made to expire; a countdown they can defeat by changing the system clock is theatre. What protects you is simpler and stronger: they never had the key.

Nothing is uploaded, at either end. The container is built in your browser and opened in theirs. Your files never reach a server here, and the finished container makes no network requests when your client opens it.