I've built a lot of things to solve my own problems. This one might be the most useful.
After years of delivering work first and chasing payments second — sometimes never getting paid at all — I stopped accepting it as a workflow issue and started treating it as an architecture problem.
The result is LinkVault: a payment-gated file delivery layer where clients preview work in a secure viewer, pay via Stripe, and the file unlocks automatically. No manual release. No invoice follow-up. No trust required.
Here's the problem it solves and how it works under the hood.
The Structural Flaw
The standard freelance delivery workflow looks like this:
Upload file → Send link → Hope → Chase invoice → Maybe get paid
The moment you send the file, you lose all leverage. The client has the value. You have a PDF they may or may not open.
This is what I call the Trust Tax — the invisible cost every creative professional pays in the form of:
- Ghosting after delivery
- 30–60 day payment delays
- Discounts offered to close stuck invoices
- Time spent on follow-ups instead of actual work
Watermarks and download blockers address the symptom (file theft). They don't address the root cause: incentive misalignment. The client has no structural reason to pay once they have the file.
The Architecture
LinkVault implements what I call a Payment-Gated Delivery Layer. The state transition looks like this:
LOCKED → PREVIEW_ACCESSIBLE → PAYMENT_TRIGGERED → UNLOCKED
Step 1: Ingestion
The creator uploads the asset. It's stored encrypted. A unique viewer URL is generated — this is NOT a direct file URL. The file itself is never publicly accessible.
Step 2: Controlled Exposure
When the client opens the link, they see a high-fidelity in-browser preview (PDF viewer, video player, image viewer — depending on file type). Security headers are set to discourage downloading. The original binary is not served at this stage.
Step 3: Payment Trigger
A Stripe Checkout session is bound to the asset's metadata. The client sees a "Pay to unlock" button with the creator's price. On click, they're taken through a standard Stripe Checkout flow.
Step 4: Automated Release
On successful payment, Stripe fires a webhook. LinkVault receives it, validates the session, and flips the asset state to UNLOCKED. The client receives a time-limited download token for the original file.
Stripe webhook → validate session_id → set asset.state = UNLOCKED → generate download token
The creator does nothing. The system handles the release deterministically.
Why This Beats DRM
Most "secure file sharing" tools focus on Digital Rights Management — preventing downloads, blocking right-clicks, adding watermarks.
The problem: a motivated person always finds a workaround. Screen recording, browser dev tools, third-party downloaders.
More importantly: DRM doesn't solve cash flow. A watermarked file a client uses without paying is still a loss.
LinkVault doesn't try to make files impossible to copy. It makes payment the prerequisite for access to the original. The preview is the hook. The payment is the key.
DRM approach: deliver file → try to prevent theft
LV approach: preview only → payment → deliver file
The leverage stays with the creator until the transaction completes.
The API
For devs who want to integrate this into their own workflows, LinkVault exposes a REST API on Professional and Business plans.
Upload with price:
curl -X POST https://linkvault.biz/api/upload \
-H "Authorization: Bearer lv_your_key" \
-F "file=@final_logo.pdf" \
-F "downloadPrice=50000"
# downloadPrice in cents — 50000 = $500.00
Check Stripe connection:
GET /api/stripe/connect-status
Create checkout session for a link:
POST /api/stripe/checkout-download/{linkId}
Download original after payment:
GET /api/links/{id}/download-original?session_id={stripe_session_id}
Full API reference: linkvault.biz/api-docs
Real-World Use Case
A motion designer finishes a brand intro video. Instead of attaching it to an email:
- Uploads to LinkVault, sets price at $800
- Shares one link with the client
- Client watches the full video in a secure viewer
- Client clicks "Pay to unlock" → goes through Stripe Checkout
- Payment clears → file unlocks automatically → client downloads 4K original
Designer never had to ask for money. The system handled it.
Who It's For
- Designers delivering logos, brand kits, UI files
- Photographers and videographers delivering final edits
- Architects and 3D artists delivering renders and project files
- Copywriters and consultants delivering reports and whitepapers
- Agencies delivering proposals and client deliverables
Basically: anyone who sends a file and then sends a follow-up asking where the payment is.
Try It
Live at linkvault.biz.
Use code TRIALWEEK for 7 days on the Professional plan — no credit card required.
The Trust Tax is optional. You just have to stop paying it.
Built by a founder tired of unpaid invoices. Questions or feedback welcome in the comments.
Top comments (0)