fshy

fshy / Storage

Origrid

origrid.io · Storage · 1 record · JSON

Origrid Storage

caveatanonymousno cardRper-object-cap

origrid.io · anon-host · storage/origrid · JSON · compare

Free tier25 GB per file with NO account; 50 GB per file / 50 GB storage with a free account; Contributor tier (automatic: 25 GB stored + 30 days old + clean record) gives 100 GB storage, 50 GB/file and links that never expire; Verified Uploader = 100 GB/file + 5 TB storage + links that never expire.
unit GB; metered on stored-bytes
Pricenone stated
Per-object cap25 GB per file (25000000000 bytes)
RetentionRetention: 15 days anonymous, 90 days from last download for a free account, never for Contributor/Plus (15 days)
EgressNo ads, no wait, no cap, full speed on every plan; no per-download bandwidth meter stated. Bytes are served from R2/B2 origins via short-lived signed URLs.
Identityanonymous derived from the record's prose, not from an identity field, and no signup was executed: 25 GB per file with NO account; 50 GB per file / 50 GB storage with a free account; Contributor tier (automatic: 25 GB stored + 30 days old + clean re
Limits
  • per-object-cap 25 GB per file source
  • per-object-cap 50 GB per file source
  • retention-clamped Retention: 15 days source
  • write-gated invite-only Verified tier source
per-object-cap: 25 GB/file anonymous, 50 GB/file free account. Retention: 15 days anonymous, 90 days from last download for a free account, never for Contributor/Plus. Storage cap is the real bind: 50 GB free account, 100 GB Contributor, 5 TB only on the invite-only Verified tier.
Bindingper-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota
Interfacerest rest
ToolingOwn REST API, documented and keyless for the anonymous path. /api/upload/create, /api/upload/part, /api/upload/complete. Remote-upload endpoint POST /api/upload/remote pulls a URL server-side (no local bandwidth).
Composes withAnonymous upload needs no key at all, so per-identity multiplication is free; but each anon file lives only 15 days from last download. The interesting route is the automatic Contributor tier: park 25 GB, wait 30 days, and links stop expiring (100 GB) — a slow-burn archive, not a hot tier.
ReliabilityREAD PATH IS GATED BY A MINTED TOKEN, not a static URL: /d/<id> is HTML whose Download button is a signed /dl/<JWT> that 302s to an R2 presigned URL with X-Amz-Expires=21600. The token is re-minted on every page view, so the file is durable but the *link* is not shareable as a bytes URL — you must re-scrape /d/<id> to fetch. Retains originals byte-exact.
Notes25 GB per file with NO account; 50 GB per file / 50 GB storage with a free account; Contributor tier (automatic: 25 GB stored + 30 days old + clean record) gives 100 GB storage, 50 GB/file and links that never expire; Verified Uploader = 100 GB/file + 5 TB storage + links that never expire.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-object-cap 25.0 GB
  • $.limits[1].value limit:per-object-cap 50.0 GB
Evidence (4)
datesourcewhat it proved
2026-10-21withheldprobe: POST /api/upload/create (no auth) -> 200 {fileId, key, uploadId, partSize 67108864, claimToken}
2026-10-21withheldprobe: PUT presigned part -> 200; POST /api/upload/complete -> {"id":"BbSXVbzMZ","status":"processing","url":"/d/BbSXVbzMZ"}
2026-10-21withheldprobe: GET /d/BbSXVbzMZ -> 200 text/html; GET signed /dl/... -> 302 -> R2 presigned (X-Amz-Expires=21600); final GET 200 1048576 bytes, sha256 MATCH a60c67af...69a3a
2026-10-21withheldprobe: GET /api/v1/files without key -> 401 {"message":"Invalid API key."}
Unknown or withheld values (7)
  • $.evidence[0].url private-url
  • $.evidence[1].url private-url
  • $.evidence[2].url private-url
  • $.evidence[3].url private-url
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.retention.notes not-extracted