Beta

Private Files, CDN Speed

ACL integration with Conjoin Auth. Assign owner, editor, or viewer roles to accounts, organizations, and groups. Permissions check on every request.

File security

Secure file access without custom authorization

Fine-grained ACLs integrate with Conjoin Auth for object-level permissions. Assign roles to accounts, organizations, or groups. Generate signed URLs with rate limiting and quotas.

Capabilities

Everything you need for file security

Public and private visibility

Set containers and objects as public (CDN accessible) or private (requires authentication or signed URL).

Role-based access

Assign owner, editor, or viewer roles at the object level. Owners manage permissions, editors modify content, viewers read only.

Entity-based permissions

Grant access to accounts, organizations, or organization groups. Permissions check automatically through Conjoin Auth integration.

Signed URLs

Generate time-limited URLs with configurable expiry for private file access. Rate-limited signed URLs control download bandwidth.

Rate limiting and quotas

Upload rate limiting and quota management per project. Container quotas prevent runaway storage costs.

Expiring access

Grant temporary access that expires automatically. Share files for a limited time without manual revocation.

Container policies

Set default visibility and access policies on containers. New files inherit container permissions automatically.

Authorization checks

Every download request validates authorization before serving content. Failed checks return 403 immediately.

3 roles
Permission levels

Owner, editor, viewer

3 entity types
Access targets

Accounts, orgs, groups

100%
Request validation

Every access checked

Why it matters

Control file access without custom authorization

Role-based permissions at the object level

File permissions often need more granularity than read/write. Three roles provide clear permission levels: owners manage access, editors modify content, viewers read only.
In practice

Upload a shared document and assign the creator as owner. Grant editor role to the team for modifications. Grant viewer role to stakeholders for read-only access. Each role has clear, predictable capabilities.

Rate limiting and quota management

Uncontrolled uploads and downloads can exhaust storage and bandwidth budgets. Rate limiting and quotas prevent runaway costs at the project and container level.
In practice

Set a container quota of 100GB for user uploads. Configure upload rate limiting to prevent abuse. Generate rate-limited signed URLs for downloads to control bandwidth costs.

Built for Your Workflow

Ship faster with solutions designed for real-world needs

How Conjoin solves this

Assign owner, editor, or viewer roles at the object level. Owners manage permissions, editors modify content, viewers read only. Clear role boundaries prevent permission confusion.

Impact

Model real-world permission hierarchies without custom role logic. Team leads own documents, team members edit, stakeholders view.

How Conjoin solves this

Grant access to organizations or organization groups instead of individual accounts. All members inherit the permission automatically through Conjoin Auth integration.

Impact

Share files with entire teams in one API call. New team members gain access automatically when they join the organization or group.

How Conjoin solves this

Generate rate-limited signed URLs that throttle download speed. Configure download rate limits per URL to control bandwidth costs.

Impact

Share large files without bandwidth spikes. Rate-limited downloads spread bandwidth usage over time instead of hitting peak capacity.

How Conjoin solves this

Set container quotas per project to cap storage usage. Upload rate limiting prevents abuse and controls ingress costs.

Impact

Predictable storage costs with hard limits. Quota enforcement prevents runaway uploads from a single user or integration.

Ship your application today

Start building with Conjoin today. Free tier includes everything you need to prototype and launch. Scale when you're ready.