{"rid":"storage/zenodo-restricted-access-records-and-secret-links","card":{"rid":"storage/zenodo-restricted-access-records-and-secret-links","eid":"zenodo","topic":"storage","slug":"zenodo-restricted-access-records-and-secret-links","provider":"Zenodo restricted-access records and secret links (working storage, not only an archive)","url":"https://help.zenodo.org/docs/share/link-sharing/","domain":"zenodo.org","category":"academic repository, restricted visibility","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"per-object-cap","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":0,"per_object_bytes":50000000000,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"live","checked_on":"2026-10-21","stale_on":"2026-11-20","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"The same 50 GB per record and 150 GB per-account pool as the public path. Restricting the files neither reduces nor refunds the quota, so the capacity is ide...","duplicate_of":null,"n_unknown":1},"record":{"topic":"storage","slug":"zenodo-restricted-access-records-and-secret-links","provider":"Zenodo restricted-access records and secret links (working storage, not only an archive)","url":"https://help.zenodo.org/docs/share/link-sharing/","category":"academic repository, restricted visibility","free_tier":{"stated":"The same 50 GB per record and 150 GB per-account pool as the public path. Restricting the files neither reduces nor refunds the quota, so the capacity is identical","unit":"GB","metered_on":"stored-bytes","source_url":"https://help.zenodo.org/docs/share/link-sharing/","read_on":"2026-10-21","notes":"This record exists because the corpus held Zenodo's public deposit path and not its restricted one. They are the same quota with a different visibility flag, and the difference decides whether Zenodo can be a working set or only an archive"},"per_object_cap":{"stated":"50 GB per record on the default quota, with the 150 GB account pool distributable across records, and a hard 100 files per record","bytes":50000000000,"source_url":"https://help.zenodo.org/docs/deposit/manage-quota/","notes":"the 200 GB single-record figure is 50 GB plus the whole 150 GB pool, which requires distributing nothing else"},"retention":{"stated":"A record cannot be deleted after 30 days. Restricted records carry the same rule, so a restricted record is as permanent as a public one and its quota is consumed monotonically","days":null,"source_url":"https://help.zenodo.org/docs/deposit/manage-records/"},"egress":{"terms":"Free. A secret link grants 'Can view' on restricted or embargoed files of all current and future versions of that record, with optional expiry","metered":false,"source_url":"https://help.zenodo.org/docs/share/link-sharing/"},"interface":["rest"],"interface_detail":"the same deposition API; visibility is a field on the draft, set to restricted with an embargo date or a share link, and share links are managed from the record's Links tab","tooling":"any HTTP client for the deposition and file APIs, working in the same way as the public path. There is no rclone backend, so uploads are plain HTTP PUT against a bucket URL","chaining":"This is what turns Zenodo from a cold archive into something usable as a hot working set: the client can keep data off the public index while still holding 50 GB times N, and still read it programmatically with a token or a shared link. It composes with the 32-connection parallel read measured on the public path, because the throttle is per connection and not per visibility","limits":[{"kind":"per-object-cap","value":"50 GB per record on the default quota, 100 files per record","source":"https://help.zenodo.org/docs/deposit/manage-quota/"},{"kind":"retention-clamped","value":"a record cannot be deleted after 30 days, restricted or not","source":"https://help.zenodo.org/docs/deposit/manage-records/"},{"kind":"request-rate","value":"100 requests per minute authenticated; 30 per minute on the search API","source":"https://help.zenodo.org/docs/deposit/manage-quota/"}],"binding":"per-object-cap","binding_note":"The quota and the visibility are independent, so restricting a record buys privacy and no capacity. What binds is the 50 GB per-record ceiling, which sets the record count at about 410 for the 20 TiB archive whether the records are public or restricted","limits_note":"Metadata is always public even when the files are restricted, so titles, descriptions and the minted DOI leak. That is a property of the visibility model and not a defect in this record","identity_cost":{"kind":"email","detail":"an email address, GitHub or ORCID account.","country":null},"reliability_note":"Answers the working-storage question: workable for private data, but every record still carries permanently public metadata and a DOI, so it is a leaky private tier and not a private bucket. An interrupted upload leaves a Pending file that must be removed by hand","confidence":"documented","confidence_note":"What would raise it is a probe of a restricted record read through a secret link","evidence":[{"url":"https://help.zenodo.org/docs/share/link-sharing/","date":"2026-10-21","proved":"'Link sharing enables you to create a secret link which provides access to your record. The link can also have an expiry date.' and 'Can view: Grants access to view restricted/embargoed files of all current and future versions'"},{"url":"https://help.zenodo.org/docs/about/whats-changed/","date":"2026-10-21","proved":"'the access right field has now been changed into a visibility field with two options (metadata is always public)'"},{"url":"https://help.zenodo.org/docs/deposit/manage-quota/","date":"2026-10-21","proved":"each record comes with a default quota of 50 GB and an additional 150 GB allowance distributable across uploads, with no account-level total documented"},{"url":"https://help.zenodo.org/docs/deposit/manage-records/","date":"2026-10-21","proved":"records can be deleted by their owner within 30 days after publication, and outside that window only in justified cases"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","price_per_tb_month":null,"notes":"A sub-finding of Zenodo, written as its own record because the corpus carried the public deposit path and not the restricted one, and the difference is the whole working-storage question. this is that record. It does not duplicate the main provider: the quota, the API and the lifecycle are the parent record's, and this one adds only the visibility field and what it costs","extras":{"parent_finding":null,"sibling_record":"dossier/storage/zenodo-anonymous-download-throughput.json covers the measured read path","sub_finding":true,"what_the_parent_record_owns":"the deposit API, the quota arithmetic, the 30-day window and the DOI behaviour","what_this_record_owns":"the visibility field, secret links, and the leak of metadata under a restricted record"}},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":50,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":50,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[2].value","kind":"limit:request-rate","num":100,"unit":"requests","per":"minute","currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.extras.parent_finding","withheld"]],"history":[],"drift":[]}