Secure, multi-tenant file storage you run yourself. Point it at Backblaze, Wasabi, R2, or any S3 bucket — get organizations, permissions, versioning, and a full audit trail without handing your data to anyone.
The API only handles auth and metadata. When you upload or download, Freehold hands the browser a pre-signed URL and the bytes flow straight to your object storage — so transfers stay fast and the API is never a bottleneck.
Asks the API where to put bytes, then uploads them directly. Holds a JWT, never a secret.
Auth, permissions, metadata, audit log. Issues pre-signed URLs. Validates every JWT against your OIDC provider.
B2, Wasabi, R2, MinIO, AWS. Receives bytes directly from the browser over pre-signed URLs.
No app store. No plugin marketplace. No "platform." Just the storage primitives, done properly.
Organizations, teams, and members — each with fully isolated data.
Read / Write / Delete / Share / Admin with ACL inheritance.
Full history with point-in-time restore on every file.
Colored tags plus Postgres-powered search across everything.
Controlled external upload and download via public links.
A complete trail with before / after state on every action.
Pre-signed S3 URLs — bytes never bottleneck the API.
Touch-optimized mobile app with offline caching.
Most "cloud" tools want to be the center of your whole organization — endless add-ons, integrations, and lock-in. Freehold does one thing: it stores your files, on infrastructure you control, and gets out of the way.
A single compiled Go binary behind systemd, a React frontend you can host anywhere static, and standards-based OIDC. No mystery runtime, no managed dependency you can't replace.
Three external services, one binary, one static frontend. The deployment guide walks every step — Postgres, your bucket, OIDC, systemd, TLS.