JWT access/refresh tokens plus per-project API keys. bcrypt-hashed passwords and role-based access control built in.
Organize files into projects with members, upload policies, and per-project rate limits. Pluggable storage (local now, S3-ready).
Expose public projects without auth, or share privately with members. Fine-grained download and listing controls.
Expose file operations to AI assistants via the Model Context Protocol. Automate uploads and downloads from your tools.
Security headers, CORS, rate limiting, and full audit logging of every privileged action out of the box.
A clean REST API for everything: auth, projects, files, sharing, and admin. Easy to script and integrate.
# Register and get a token
curl -X POST /api/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"secret","name":"You"}'
# Upload a file to a project
curl -X POST /api/projects/{id}/files/upload \
-H "Authorization: Bearer <token>" \
-F "file=@report.pdf"
Open source · Written in Go · Docker-ready · SQLite/Postgres