Encrypted File Storage

Encrypted at Rest and in Transit, Gated by Signed URLs

Secure file storage with encryption at rest and in transit for maximum security.

Honest security copy matters more than marketing adjectives, so here is precisely what files.link does and does not do. Every stored object is encrypted at rest, and every upload, download, and signed-URL fetch travels over TLS — so the bytes are protected on disk and on the wire by default, with no configuration on your part. That is server-managed encryption: the keys for the at-rest layer are held by the storage infrastructure, not by you.

We deliberately do not claim end-to-end or zero-knowledge encryption, because that is not how the default path works, and pretending otherwise would be dishonest. What actually keeps a sensitive file from being read by the wrong person is the access model layered on top: private files. A private file has no public URL and cannot be reached by guessing a path.

Each download requires a fresh signed URL that your backend mints on demand — the URL carries a cryptographic signature and a short expiry (10-minute default), and the storage layer rejects any request whose signature is missing, altered, or expired. So even if a signed link is forwarded or logged, it stops working within minutes. Mint the URL server-side, per request, so the signing path never touches the client.

If your threat model requires that even the storage provider cannot read the contents — true confidentiality against the host — the right pattern is client-side encryption before upload. Encrypt the bytes in your application with the Web Crypto API or libsodium, for example const enc = await crypto.subtle.encrypt({ name: 'AES-GCM', iv }, key, data), then run the ciphertext through the standard three-call upload (POST /v1/files/{folderId}, PUT the encrypted bytes, POST /v1/files/confirm-upload). files.link stores and serves opaque bytes; decryption happens only in your client with a key we never hold.

In that model there is no customer-managed-key or BYOK feature to configure — the key you control is one we simply never possess. One caveat worth stating plainly: a public file is meant to be readable by anyone with the link, so encryption at rest protects it on disk but does not make a public URL a secret. If a file is sensitive, mark it private and serve it through signed URLs, or encrypt it client-side first.

Benefits With No Complexity

Global CDN delivery

Your files are served from 450+ edge locations worldwide.

Edge-cached worldwide

Files are cached close to your users for fast delivery.

Signed-URL security

Private files stay protected with time-limited access.

What You Get

Unlimited files

Upload as many files as you need.

Unlimited storage

There is no storage limit.

Public + Private storage

Private files are fully secured.

CDN ready links

Upload directly to 450+ edge locations worldwide.

Prepaid credits

No subscription. Pay only for the storage and bandwidth you use.

More coming soon

We have plenty of features coming!

How files.link Works

1. Upload

Create a project and upload your first file.

2. Copy

Copy the CDN link.

3. Use Anywhere

Paste and enjoy the blazing speed.

Why Developers Choose files.link

A Better Way to Store & Deliver Files

Amazon S3TresoritDropboxfiles.link
Encrypted at rest by default
TLS encryption in transit
Signed URLs with short expiry
Works with client-side encryption
Simple REST API (no SDK required)
Built-in CDN for public files

Calculate Your Needs

Storage

0GB

Egress

0GB

CDN Bandwidth

0GB
Total: $0.000/month

Start Encrypted Storage

  • Global CDN delivery
  • Edge-cached worldwide
  • Signed-URL security
  • Unlimited files
  • Unlimited storage
  • Public + Private storage
  • No subscription — prepaid credits keep spend predictable
Start Encrypted Storage

Frequently Asked Questions

What encryption does files.link actually provide?
Encryption at rest on stored objects and TLS in transit for every upload, download, and signed-URL fetch — both by default, no setup. The at-rest keys are managed by the storage infrastructure, not by you. This is server-managed encryption; we do not claim end-to-end or zero-knowledge because that isn't how the default path works.
Can I make files unreadable even to the provider?
Yes — encrypt client-side before uploading. Run the bytes through Web Crypto (AES-GCM) or libsodium in your app, e.g. crypto.subtle.encrypt(...), then upload the ciphertext via the three-call flow. files.link stores and serves opaque bytes; decryption happens only in your client with a key we never hold.
How do signed URLs protect a private file?
Private files have no public URL. Your backend mints a signed URL on demand, carrying a signature and a short expiry (10-minute default). The storage layer rejects any request that is unsigned, tampered, or expired — so a leaked link stops working within minutes. Mint it server-side per request to keep signing off the client.
Is there BYOK or customer-managed keys?
Not as a feature — the at-rest layer uses infrastructure-managed keys. If your compliance posture requires customer-held keys, use client-side encryption so the protective key is one we never possess, which is stronger than BYOK against a host-compromise threat model.
Are public files encrypted too?
They're encrypted at rest on disk, but a public file is meant to be readable by anyone with the link, so the URL is not a secret. If a file is sensitive, mark it private and serve it via signed URLs, or encrypt it client-side before upload.
General Questions
Is there a subscription?
No. files.link uses prepaid credits, so storage, bandwidth, and API usage are deducted from your balance as you go. The app explains the payment step before uploads are enabled — no monthly subscription and no per-user fees.
What is files.link?
files.link is a developer-first file platform that makes it simple to store, secure, and deliver files globally. It provides signed URLs, public/private access, and an API-first design so you can integrate file delivery into any app without the usual complexity.
How does billing work?
files.link uses prepaid credits. As you use storage, bandwidth, and API requests, credits are deducted daily. When your balance runs low, we automatically recharge it using your saved card. If an auto-recharge doesn't go through, your files and links stay put — you simply update your payment method or top up manually to keep going. No monthly subscriptions — just simple usage-based pricing.
How secure is my data?
All files are encrypted at rest and in transit. You can use signed URLs for private files, control access with permissions, and rely on enterprise-grade infrastructure for data protection.

Related

files.link
Copyright © 2026
All rights reserved
ContactGuidesGlossaryStatusLegal