Object storage
The Archives
The Archives keep files for your workspace. Metadata lives on Zipper; bytes sit in object storage. Every object is AES-256-GCM. You can give a time-limited signed URL, and you can purge a path from The Crown’s cache. Encryption cannot be turned off. This is a Cloudflare Cloudflare R2 + cache purge alternative included on every Zipper plan.
Cloudflare analogue: Cloudflare R2 + cache purge
What it is
The Archives keep files for your workspace. Metadata lives on Zipper; bytes sit in object storage. Every object is AES-256-GCM. You can give a time-limited signed URL, and you can purge a path from The Crown’s cache. Encryption cannot be turned off.
Cloudflare analogue: Cloudflare R2 + cache purge. SLA 99.99% · p99 28ms. Operators may purge. Admins cannot turn encryption off. Signed URLs are required.
- ▸Instant purge
- ▸Signed URLs
- ▸AES-256-GCM at rest
- ▸Your workspace only
How it works
Objects are stored per workspace. HMAC-signed URLs are required to read. Every object is AES-256-GCM with HKDF keys and AAD bound to the zone. Encryption cannot be turned off.
Use cases
Concrete ways teams use this service on day one.
Private downloads
Invoices should not be a public URL.
- Keep signed URL TTL at 900s. Hand the URL to the buyer only after checkout.
Set it up in the dashboard
Dashboard → Services → The Archives. Purge by prefix. Same purge ledger is shared with The Crown.
API
Control-plane: POST /api/v1/archives/purge. Send Authorization: Bearer tz_live_YOUR_TOKEN.
Creates count against the plan quota. A 402 plan_limit means you are at the cap — upgrade or delete an unused resource.
Purge
curl -sS -X POST https://tinyzipper.com/api/v1/archives/purge \
-H "Authorization: Bearer tz_live_YOUR_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"prefix":"/invoices/*"}'List the same resource in JavaScript
const res = await fetch("https://tinyzipper.com/api/v1/archives/purge", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ZIPPER_TOKEN}`,
"Content-Type": "application/json"
}
});
const json = await res.json();
if (!res.ok) throw new Error(json.error ?? res.statusText);
console.log(json);Tips
Purge prefixes must start with /.
- ▸SOC 2
- ▸ISO 27001
- ▸AES-256-GCM
Runbook
Served at /edge/archives. Purge is limited to this workspace. Signed URLs expire. Versioning is on.
Next: The Throne Room · All docs · Create a free account