{"rid":"storage/molab","card":{"rid":"storage/molab","eid":"marimo","topic":"storage","slug":"molab","provider":"molab (marimo cloud)","url":"https://molab.marimo.io","domain":"marimo.io","category":"paas","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":"s3-compatible,rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"'Notebooks get a limited amount of persistent storage' — size deliberately undisclosed; 'Cached files are subject to limitations on file size and persistence...","duplicate_of":null,"n_unknown":8},"record":{"topic":"storage","slug":"molab","provider":"molab (marimo cloud)","url":"https://molab.marimo.io","category":"paas","free_tier":{"stated":"'Notebooks get a limited amount of persistent storage' — size deliberately undisclosed; 'Cached files are subject to limitations on file size and persistence duration, which may change at molab's discretion.'","unit":"mixed","metered_on":"stored-bytes","source_url":"https://docs.marimo.io/guides/molab/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://docs.marimo.io/guides/molab/","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.marimo.io/guides/molab/","notes":"not stated"},"egress":{"terms":"No published meter; notebooks are public and embeddable, so serving is expected behaviour.","metered":false},"interface":["s3-compatible","rest"],"interface_detail":"rest","tooling":"marimo notebooks as Python files; server-backed preview; remote storage integrations (GDrive, HF, S3-compatible) rather than a real disk API.","chaining":"Per-notebook storage only, and only for files uploaded via the sidebar or written through `mo.persistent_cache`. No bulk upload path, so no chaining.","limits":[],"limits_note":"12 h max session; 4 CPUs / 32 GB RAM default; only sidebar-uploaded or cached files persist; retention 'at molab's discretion'.","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Persistence exists but is explicitly discretionary and undocumented in size — unusable as a storage substrate, fine as a free 32 GB-RAM compute box that can fetch and re-upload.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.marimo.io/guides/molab/","date":"2026-10-21","proved":"'Notebooks get a limited amount of persistent storage'; 'subject to limitations on file size and persistence duration'"},{"url":"https://docs.marimo.io/guides/molab/","date":"2026-10-21","proved":"'4 CPUs and 32 GB of RAM' default; 12 h sessions"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"'Notebooks get a limited amount of persistent storage' — size deliberately undisclosed; 'Cached files are subject to limitations on file size and persistence duration, which may change at molab's discretion.'","extras":{"dead_end":{"failure_class":"quota","why":"'Notebooks get a limited amount of persistent storage' — size deliberately undisclosed; 'Cached files are subject to limitations on file size and persistence duration, which may change at molab's discretion.'","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":"no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.per_object_cap.notes","not-extracted"],["$.per_object_cap.stated","not-extracted"],["$.retention.notes","not-extracted"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]}