{"eid":"ctan","name":"CTAN","domain":"ctan.org","resolved_by":"domain","topics":["storage"],"n_records":2,"best_vorder":6,"review":null,"aliases":["CTAN","CTAN (Comprehensive TeX Archive Network)","ctan","ctan.org"],"records":[{"rid":"storage/ctan","card":{"rid":"storage/ctan","eid":"ctan","topic":"storage","slug":"ctan","provider":"CTAN (Comprehensive TeX Archive Network)","url":"https://ctan.org","domain":"ctan.org","category":"registry","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","self_hosted":0,"confidence":"reported","binding":"write-gated","identity_kind":"institution","identity_basis":"inferred","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":"rclone","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-05","n_evidence":3,"usd_month":null,"usd_per_tb_month":null,"summary":"No numeric quota published, but upload is a manual web form reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups...","duplicate_of":null,"n_unknown":9,"free_unit":"mixed"},"record":{"topic":"storage","slug":"ctan","provider":"CTAN (Comprehensive TeX Archive Network)","url":"https://ctan.org","category":"registry","free_tier":{"stated":"No numeric quota published, but upload is a manual web form reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes.","unit":"mixed","metered_on":"unstated","source_url":"https://www.ctan.org/upload","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://www.ctan.org/upload","notes":"not stated"},"retention":{"stated":"per-object-cap: none published; upload is a browser form. retention: indefinite ('CTAN keeps all versions')","source_url":"https://www.ctan.org/upload","notes":"not stated"},"egress":{"terms":"Free, heavily mirrored (mirror.ctan.org redirects to a national mirror, e.g. mirrors.ustc.edu.cn). No metering.","metered":false},"interface":["rclone"],"interface_detail":"wrapper-only","tooling":"Manual upload form + email-based review. `tlmgr` for consumption. No upload API, no rclone.","chaining":"unlimited packages x unlimited versions, but every one is human-reviewed and must be TeX-archive-shaped. Not multiplicable in any meaningful automated way.","limits":[{"kind":"write-gated","value":"reviewed by the CTAN team, with extensive packaging rules (TDS layout, no","source":"https://www.ctan.org/upload"},{"kind":"write-gated","value":"review","source":"https://www.ctan.org/upload"}],"limits_note":"per-object-cap: none published; upload is a browser form. retention: indefinite ('CTAN keeps all versions'). request-rate: N/A, human review.","identity_cost":{"kind":"institution","detail":null,"country":null},"reliability_note":"Read path is excellent (global mirrors, 200 on beamer.zip).","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://mirror.ctan.org/macros/latex/contrib/beamer.zip","date":"2026-10-21","proved":"probe: GET with -L -> 200, 3,298,392 bytes, final URL mirrors.ustc.edu.cn/CTAN/..."},{"url":"https://www.ctan.org/upload","date":"2026-10-21","proved":"upload form, no API"},{"url":"https://www.ctan.org/file/help/ctan/CTAN-upload-addendum","date":"2026-10-21","proved":"'Never try to upload (or re-upload) by email, always use the upload form'"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"No numeric quota published, but upload is a manual web form reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes.","extras":{"dead_end":{"failure_class":"write-gated","why":"No numeric quota published, but upload is a manual web form reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes.","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"write-gated","binding_note":null},"claims":[{"path":"$.free_tier","kind":"has-free-tier","num":1.0,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[1].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.binding_note","boilerplate"],["$.confidence_note","withheld"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","boilerplate"],["$.identity_cost.kind","identity-defaulted"],["$.per_object_cap.notes","not-extracted"],["$.per_object_cap.stated","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[{"kind":"duplicate-disagrees","subject":"storage/ctan","other":"storage/ctan-2","field":"identity_kind","a":"institution","b":"email","detail":null}]},{"rid":"storage/ctan-2","card":{"rid":"storage/ctan-2","eid":"ctan","topic":"storage","slug":"ctan-2","provider":"ctan","url":"https://www.ctan.org/upload","domain":"ctan.org","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","self_hosted":0,"confidence":"documented","binding":"write-gated","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":null,"retention_days":null,"verified_at":"2026-11-03T15:34:58.622Z","verified_basis":"live","checked_on":"2026-11-03","stale_on":"2026-12-04","n_evidence":9,"usd_month":null,"usd_per_tb_month":null,"summary":"Uploads are write-gated: every upload is unpacked and checked by an upload manager before installation, and the archive holds material around TeX; no upload ...","duplicate_of":null,"n_unknown":9,"free_unit":"none"},"record":{"topic":"storage","slug":"ctan-2","provider":"ctan","url":"https://www.ctan.org/upload","category":"rejected-provider","free_tier":{"stated":"Uploads are write-gated: every upload is unpacked and checked by an upload manager before installation, and the archive holds material around TeX; no upload price is stated on the pages…","unit":"none","metered_on":"none","source_url":"https://www.ctan.org/upload","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"unverified: no archive size limit is stated on the pages read; the upload is a single .zip, .tgz or .tar.gz archive","bytes":null,"source_url":"https://www.ctan.org/upload","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://www.ctan.org/upload","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["rest"],"interface_detail":null,"tooling":"documented HTTP upload interface (POST /submit/validate and POST /submit/upload) in addition to the web form; the upload is passed to the CTAN upload workflow for review","chaining":"not recorded","limits":[{"kind":"write-gated","value":"every upload is unpacked and checked by an upload manager (volunteers); TeX packages as a .zip, .tgz or .tar.gz archive","source":"https://www.ctan.org/file/help/ctan/CTAN-upload-addendum"}],"limits_note":null,"identity_cost":{"kind":"email","detail":"an email address of the uploader is required on the upload form; it is not published and is used to contact the uploader","country":null},"reliability_note":"Every upload is unpacked and checked by an upload manager; the team are volunteers, so processing time varies","confidence":"documented","confidence_note":"the vendor pages of the 2026-11-03 evidence rows were read and captured (https://www.ctan.org/file/help/ctan/CTAN-upload-addendum, https://www.ctan.org/help/submit, https://www.ctan.org/upload, https://www.ctan.org/); every field that decides the verdict cites one of those captures","evidence":[{"url":"https://www.ctan.org/upload","date":"2026-10-21","proved":"Web-form upload with manual editorial review; no API, no programmatic path regardless of size."},{"url":"https://www.ctan.org/file/help/ctan/CTAN-upload-addendum","date":"2026-11-03","proved":"each upload passes a manual check","capture":"sha256:4c6e24a08eba87733e1d3ada6d31dca442d2448fd81535910e04edf7ae250bec","quote":"Every upload will be unpacked and checked by an upload manager."},{"url":"https://www.ctan.org/file/help/ctan/CTAN-upload-addendum","date":"2026-11-03","proved":"upload management is done by volunteers","capture":"sha256:4c6e24a08eba87733e1d3ada6d31dca442d2448fd81535910e04edf7ae250bec","quote":"All these people are acting as volunteers in their spare time"},{"url":"https://www.ctan.org/help/submit","date":"2026-11-03","proved":"a programmatic upload API exists","capture":"sha256:08d2953c7a4208bfe2c0e3f2887bbe3dc755b8f6388203f4dffa0e5730e7e79a","quote":"CTAN provides an interface to programmatically upload submissions."},{"url":"https://www.ctan.org/upload","date":"2026-11-03","proved":"the upload is a single archive of a fixed set of types","capture":"sha256:999f31bb896c01a405056f6c34bf9d1c04a56b11c0d43a3125276b0908aaeb19","quote":"We only accept a single archive file for upload: the file name must end in .zip, .tgz, or .tar.gz."},{"url":"https://www.ctan.org/upload","date":"2026-11-03","proved":"the form asks for an email address that is not published","capture":"sha256:999f31bb896c01a405056f6c34bf9d1c04a56b11c0d43a3125276b0908aaeb19","quote":"Your email | This email address will not be published. It is meant for contacting you in case of questions."},{"url":"https://www.ctan.org/file/help/ctan/CTAN-upload-addendum","date":"2026-11-03","proved":"each upload is manually unpacked and checked before installation","capture":"sha256:4c6e24a08eba87733e1d3ada6d31dca442d2448fd81535910e04edf7ae250bec","quote":"Every upload will be unpacked and checked by an upload manager."},{"url":"https://www.ctan.org/","date":"2026-11-03","proved":"the archive scope is material around TeX, not packages only","capture":"sha256:2d6b568996e7a5b7700a700276e9b53cb36fcbaa83fd373e5053b3a75c0b05fe","quote":"The Comprehensive TeX Archive Network (CTAN) is the central place for all kinds of material around TeX."},{"url":"https://www.ctan.org/file/help/ctan/CTAN-upload-addendum","date":"2026-11-03","proved":"the write gate is unchanged","capture":"sha256:4c6e24a08eba87733e1d3ada6d31dca442d2448fd81535910e04edf7ae250bec","quote":"Every upload will be unpacked and checked by an upload manager."}],"verdict":"fails-quota","verified_at":"2026-11-03T15:34:58.622Z","notes":"Every upload is unpacked and checked by an upload manager; the team are volunteers, so processing time varies","extras":{"dead_end":{"failure_class":"write-gated","why":"Web-form upload with manual editorial review; no API, no programmatic path regardless of size.","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"write-gated","binding_note":"writes pass a manual review by volunteer upload managers; the API submits into the same review workflow"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.chaining","not-recorded"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"]],"history":[],"drift":[{"kind":"duplicate-disagrees","subject":"storage/ctan","other":"storage/ctan-2","field":"identity_kind","a":"institution","b":"email","detail":null}]}]}