How FilePost Keeps Your Files Secure: Infrastructure and Practices

· verified · 10 min read

File security is not one feature. It includes transport encryption, storage access, URL behavior, deletion, authentication, and the limits of what the service can guarantee. This article separates those controls from assumptions.

This is a technical breakdown of the controls FilePost can verify today. The shorter Security and Data Handling page is the canonical summary, including current limitations and retention.

HTTPS Everywhere

Every connection to FilePost is encrypted with TLS. There are no exceptions and no fallbacks to plain HTTP.

This means that when you upload a file, the data in transit is encrypted between your application and FilePost's servers. When someone downloads the file using the CDN URL, that transfer is also encrypted. At no point does file data travel over an unencrypted connection.

Authentication: API Key Model

FilePost uses API key authentication for all operations. Every request must include your API key in the X-API-Key header:

curl -X POST https://upload.filepost.dev/v1/upload \
  -H "X-API-Key: your_api_key_here" \
  -F "file=@document.pdf"

The API key system has three jobs: identify the account, authorize the request, and allow the key to be rotated if it is exposed.

Best practices for API key management

Storage: Backblaze B2 with a Capped Fallback

FilePost stores all uploaded files on Backblaze B2, an enterprise-grade object storage service. Backblaze was chosen for its combination of reliability, durability, and cost efficiency.

Provider separation

Backblaze B2 is the primary file store. Cloudflare R2 is configured as a tightly capped fallback for new uploads during a narrow class of transient B2 failures. The fallback is a continuity control, not a promise that every uploaded file is duplicated across both providers.

Availability

Files are delivered through Cloudflare's CDN. A known file on the primary delivery path and a separate known file on the fallback provider are checked for exact bytes every five minutes from an independent server. See the live customer-safe result.

Isolation

File objects use random identifiers rather than sequential paths, and directory listing is not exposed. Knowing one file's URL does not reveal other account files. The URL you do know remains public, so this isolation must not be treated as private access control.

CDN: Cloudflare Network and DDoS Protection

Every file uploaded to FilePost is delivered through Cloudflare's global CDN network. This provides two critical benefits: performance and protection.

Performance

DDoS Protection

Cloudflare automatically mitigates DDoS attacks at the network edge. This is not an add-on feature; it is built into every Cloudflare plan. For FilePost, this means:

These layers reduce exposure, but no architecture guarantees that legitimate requests will always remain available during an attack or provider incident.

File Access Model: Public URLs with Unguessable Paths

FilePost generates public CDN URLs for uploaded files. This means anyone with the URL can access the file, similar to how an "unlisted" YouTube video works. The security model relies on the unguessability of the URL path.

A file URL has two separate concerns: identifying the stored object and deciding who can fetch it.

https://cdn.filepost.dev/file/filepost/uploads/a1/a1b2c3d4e5f6.pdf

The file path contains a unique, randomly generated identifier. These IDs are long enough that brute-force enumeration is computationally infeasible. There is no sequential numbering, no predictable pattern, and no directory listing.

When this model is appropriate

When to add your own access control

If your application requires authenticated file access (for example, only logged-in users can download a file), you should implement that access control in your own application layer. One common pattern: store the FilePost URL in your database, and only return it to authenticated users through your own API. The FilePost URL itself remains accessible, but only your app knows what it is.

No File Type Restrictions, Isolated Storage

FilePost accepts any file type: images, PDFs, documents, archives, binaries, configuration files, database exports, and anything else you need to host. There is no whitelist or blacklist of allowed file extensions.

The reason this is safe is storage isolation. Uploaded files are stored as inert objects in Backblaze B2 and served as static downloads through Cloudflare. They are never executed, parsed, or processed on the server. A file with a .exe extension is treated the same as a .txt file: it is stored and served, nothing more.

This is fundamentally different from a traditional web server where uploaded files might be executed (for example, a PHP file in a web root). FilePost's architecture eliminates this entire class of vulnerability because files never enter an execution context.

Data Deletion API

You can permanently delete any file you have uploaded through the API:

curl -X DELETE https://filepost.dev/v1/files/a1b2c3d4e5f6 \
  -H "X-API-Key: your_api_key_here"

When you delete a file:

This gives you full control over your data lifecycle. If a user requests deletion of their data, or if you need to remove a file for any reason, a single API call handles it completely.

Listing files before deletion

To see all files associated with your account:

curl https://filepost.dev/v1/files \
  -H "X-API-Key: your_api_key_here"

This returns a JSON array with each file's ID, URL, and size. You can use this to audit your uploaded files or build a bulk deletion script:

import requests

API_KEY = "your_api_key_here"
BASE = "https://filepost.dev/v1"

# List all files
files = requests.get(f"{BASE}/files", headers={"X-API-Key": API_KEY}).json()

# Delete all files (use with caution)
for f in files:
    requests.delete(f"{BASE}/files/{f['file_id']}", headers={"X-API-Key": API_KEY})
    print(f"Deleted: {f['file_id']}")

Payment Security: Stripe Integration

FilePost uses Stripe for all payment processing. This means:

The free tier requires no payment information at all. You can sign up with just an email address and start uploading immediately.

Disposable Email Blocking

To prevent abuse of the free tier, FilePost blocks signups from disposable email services (like Mailinator, Guerrilla Mail, and similar throwaway providers). This serves multiple security purposes:

The disposable email check happens at signup time. If you are using a legitimate email provider that is incorrectly flagged, contact support for a manual review.

Infrastructure Summary

The security controls in FilePost's architecture fall into these layers:

Layer Technology What it protects
Transport encryption TLS 1.2+ via Cloudflare Data in transit (uploads and downloads)
Authentication Random, rotatable API keys Unauthorized access to upload/list/delete operations
File storage Backblaze B2 (11 nines durability) Data loss and corruption
CDN and DDoS Cloudflare (300+ PoPs) Denial of service attacks, slow delivery
File isolation Static object storage Remote code execution via uploaded files
URL security Random, unguessable file paths Unauthorized file enumeration
Payment processing Stripe (PCI Level 1) Credit card data exposure
Abuse prevention Disposable email blocking Free tier abuse and spam uploads
Data deletion DELETE API endpoint Unwanted data retention

Secure File Hosting, Simple API

FilePost gives you HTTPS, public CDN delivery, monitored storage paths, and a simple API. Free plan: one provisional 10 MB upload works before verification. Verify your email within 24 hours to keep it permanent and unlock 15 uploads/month.

Get Your Free API Key

Frequently Asked Questions

Can other users access my files?

Not through the API. The list and delete endpoints only return files uploaded with your API key. However, the CDN URLs themselves are public: anyone with the link can download the file. If you need authenticated access, implement that in your application layer.

Are files encrypted at rest?

Uploads and downloads use HTTPS. FilePost does not currently promise application-level encryption, customer-managed keys, or B2 server-side encryption for hosted public files. Nightly database backup archives are encrypted before leaving the application server; that recovery control is separate from hosted files.

What happens if Backblaze goes down?

Some previously requested files may remain cached at Cloudflare. For a narrow class of transient B2 upload failures, FilePost can place new objects in a tightly capped R2 fallback. Neither behavior is presented as a universal outage guarantee.

Can I delete all my data?

Use the list endpoint to get file IDs, then call the delete endpoint for each file. Contact support for account deletion. Active-system removal is targeted within 30 days where reasonably possible; encrypted recovery backups rotate out within 180 days, and some legal or security records may be retained longer.

Is FilePost GDPR compliant?

FilePost is based in Sweden and publishes its providers, retention, and user rights in the Privacy Policy. There is no self-serve DPA or formal compliance certification today. Contact support before using FilePost for a workflow that requires special regulatory controls.

Do you scan uploaded files?

FilePost does not promise malware scanning. Files are generally stored and served as uploaded, while reported content and abuse signals may be reviewed under the Terms. Treat files from untrusted uploaders as untrusted input.

Pricing Tiers

The transport, authentication, monitoring, and public-file boundaries described here apply across plans:

There are no separate security tiers. HTTPS, CDN delivery, Backblaze B2 storage, DDoS protection, and the data deletion API are available to every user.