{"rid":"storage/github-packages-public-packages","card":{"rid":"storage/github-packages-public-packages","eid":"github","topic":"storage","slug":"github-packages-public-packages","provider":"GitHub Packages - public packages (npm/Maven/NuGet/RubyGems)","url":"https://github.com/features/packages","domain":"github.com","category":"registry","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","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":"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":"Unlimited for PUBLIC packages: 'GitHub Packages usage is free for public packages. In addition, data transferred in from any source is free.' Private package...","duplicate_of":null,"n_unknown":7},"record":{"topic":"storage","slug":"github-packages-public-packages","provider":"GitHub Packages - public packages (npm/Maven/NuGet/RubyGems)","url":"https://github.com/features/packages","category":"registry","free_tier":{"stated":"Unlimited for PUBLIC packages: 'GitHub Packages usage is free for public packages. In addition, data transferred in from any source is free.' Private packages consume the shared 500 MB/2 GB/50 GB plan pool.","unit":"GB","metered_on":"unstated","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","notes":"not stated"},"egress":{"terms":"Free for public packages. Paid only for downloads from private packages.","metered":false},"interface":["rest"],"interface_detail":"rest","tooling":"npm/mvn/nuget/gem clients directly; standard package-manager tooling, no wrapper needed. (GHCR is the container variant and is on the known-list, so this entry is about the non-container registries.)","chaining":"Unlimited public packages x unlimited versions, each bounded only by the per-ecosystem file cap. Multiplied by unlimited orgs/accounts.","limits":[],"limits_note":"Per-format file caps apply; no total. Public = no billing meter at all.","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Immutable versions; deletion requires explicit action. Package-manager clients are the bottleneck for bulk blobs (chunking needed).","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","date":"2026-10-21","proved":"'GitHub Packages usage is free for public packages. In addition, data transferred in from any source is free.'"},{"url":"https://docs.github.com/en/packages/learn-github-packages/about-github-packages","date":"2026-10-21","proved":"same statement repeated in the packages overview"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","notes":"Unlimited for PUBLIC packages: 'GitHub Packages usage is free for public packages. In addition, data transferred in from any source is free.' Private packages consume the shared 500 MB/2 GB/50 GB plan pool.","extras":{},"binding":"none","binding_note":"no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":500,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.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":[{"kind":"duplicate-disagrees","subject":"storage/github-packages","other":"storage/github-packages-public-packages","field":"verdict","a":"fails-egress","b":"qualifies-with-caveat","detail":null},{"kind":"duplicate-disagrees","subject":"storage/github-packages-maven-registry","other":"storage/github-packages-public-packages","field":"verdict","a":"fails-quota","b":"qualifies-with-caveat","detail":null},{"kind":"duplicate-disagrees","subject":"storage/github-packages-npm-registry","other":"storage/github-packages-public-packages","field":"verdict","a":"fails-quota","b":"qualifies-with-caveat","detail":null},{"kind":"duplicate-disagrees","subject":"storage/github-packages-public-packages","other":"storage/github-packages-rubygems-registry","field":"verdict","a":"qualifies-with-caveat","b":"fails-quota","detail":null}]}