{"eid":"github","name":"GitHub","domain":"github.com","resolved_by":"domain","topics":["ci-cd-runners","coding-subs","compute","egress","storage"],"n_records":39,"best_vorder":0,"review":null,"aliases":["Git-tracked repo files (direct, or via git-unlimited-storage wrapper)","GitHub","GitHub Actions","GitHub Actions Artifacts (public repositories)","GitHub Actions dependency cache","GitHub Actions on a private repository","GitHub Actions on a public repository","GitHub Codespaces","GitHub Container Registry","GitHub Copilot","GitHub Copilot Student","GitHub Copilot cloud sandboxes","GitHub Gist","GitHub Git LFS","GitHub Packages","GitHub Packages - public packages (npm/Maven/NuGet/RubyGems)","GitHub Pages (Fastly-served, 1 GB site)","GitHub Releases","GitHub Releases (release assets)","GitHub Secure Open","GitHub Sponsors","GitHub Student Developer","GitHub Student Developer Pack","GitHub issue/PR comment attachments (user-attachments)","github actions artifacts as an archive","github actions dependency cache (as storage)","github campus program (school-level github enterprise cloud)","github codespaces disk","github lfs as bulk storage","github packages","github packages — maven registry","github packages — npm registry","github packages — rubygems registry","github pages as a >1 gb site","github pages as bulk storage","github releases as buzzheavier's actual upstream (the fafda path)","github student developer pack (as a storage programme)","github student developer pack (bundled storage)","github student developer pack — storage angle","github.com","iroh-live"],"records":[{"rid":"ci-cd-runners/github-actions-public","card":{"rid":"ci-cd-runners/github-actions-public","eid":"github","topic":"ci-cd-runners","slug":"github-actions-public","provider":"GitHub Actions on a public repository","url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","domain":"github.com","category":"CI runner","tier":null,"verdict":"qualifies","vorder":0,"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":"git,cli","egress_metered":1,"per_object_bytes":null,"retention_days":90,"verified_at":"2026-10-22T03:05:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":5,"usd_month":null,"usd_per_tb_month":null,"summary":"standard GitHub-hosted runners are free with no minute cap on a public repository; 20 concurrent jobs on Free; 6 hours per job","duplicate_of":null,"n_unknown":0},"record":{"topic":"ci-cd-runners","slug":"github-actions-public","provider":"GitHub Actions on a public repository","url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","category":"CI runner","free_tier":{"stated":"standard GitHub-hosted runners are free with no minute cap on a public repository; 20 concurrent jobs on Free; 6 hours per job","unit":"unlimited","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","read_on":"2026-10-22","metered_on":"wall-clock"},"per_object_cap":{"stated":"6 hours of execution per job on a GitHub-hosted runner; 35 days per workflow run including waiting and approval; 256 jobs per matrix per run; a 500 KB workflow file","bytes":null,"source_url":"https://docs.github.com/en/actions/reference/limits","notes":"a self-hosted job is capped at 5 days instead"},"retention":{"stated":"artifacts and logs are kept 90 days by default and configurable per repository; the runner is destroyed at the end of the job","days":90,"source_url":"https://docs.github.com/en/actions/how-tos/manage-workflow-runs/remove-workflow-artifacts"},"egress":{"terms":"no egress charge on the runner; artifact storage is capped at 500 MB on Free and shared with GitHub Packages","metered":true,"free_allowance":"500 MB artifact and package storage","price_per_tb":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"interface":["git","cli"],"interface_detail":"a workflow YAML in .github/workflows, triggered by a push, a schedule, a pull request or a repository dispatch; the runner is a shell with a network","tooling":"the runner image is Ubuntu 24.04 with 4 vCPU, 16 GB RAM and 14 GB SSD; any package manager, any compiler, docker buildx","chaining":"free compute whose output has to leave immediately: artifacts are 500 MB, GHCR is 500 MB, and the cache evicts at 7 days. R2's 10 GB free tier is the join that makes the chain storable","limits":[{"kind":"per-object-cap","value":"6 hours per job; 35 days per workflow run; 256 jobs per matrix; a 500 KB workflow file","source":"https://docs.github.com/en/actions/reference/limits"},{"kind":"request-rate","value":"20 concurrent jobs on GitHub Free (Pro 40, Team 60, Enterprise 500); 5 concurrent macOS","source":"https://docs.github.com/en/actions/reference/limits"},{"kind":"retention-clamped","value":"cache entries not accessed in over 7 days are removed","source":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching"},{"kind":"retention-clamped","value":"artifacts and logs are kept 90 days by default and the window is configurable per repository","source":"https://docs.github.com/en/actions/how-tos/manage-workflow-runs/remove-workflow-artifacts"},{"kind":"per-object-cap","value":"10 GB of cache per repository, evicted oldest-first beyond it","source":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching"}],"limits_note":"100 workflow runs may queue per concurrency group; cache uploads are 200 a minute and downloads 1,500 a minute per repository; in a public repository a scheduled workflow is automatically disabled when the repository has no activity for 60 days (docs.github.com/en/actions/how-tos/manage-workflow-runs/disable-and-enable-workflows)","binding":"per-object-cap","identity_cost":{"kind":"email","detail":"a GitHub account; no card for a public repository","country":null},"reliability_note":"the repository, its workflows and its logs are public, which is a technical property of the free tier and not a policy question","confidence":"documented","confidence_note":"the billing and limits pages were read today and state both the unlimited public minutes and each cap.","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-22","proved":"'GitHub Actions usage is free for self-hosted runners and for public repositories that use standard GitHub-hosted runners'; 'Larger runners are always charged for, even when used by public repositories'"},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-22","proved":"Job execution time 6 hours on GitHub-hosted and 5 days self-hosted; 35 days per workflow run; 256 jobs per matrix per run; 500 KB workflow file; 20 concurrent jobs on Free and 5 macOS; 500 MB artifact storage, 2,000 minutes and 10 GB cache per repository on Free"},{"url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","date":"2026-10-22","proved":"ubuntu-latest is 4 vCPU, 16 GB RAM, 14 GB SSD; ubuntu-slim is 1 vCPU and 5 GB"},{"url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","date":"2026-10-22","proved":"10 GB per repository by default; any cache entry not accessed in over 7 days is removed; beyond the limit the oldest entries are evicted"},{"url":"https://docs.github.com/en/actions/how-tos/manage-workflow-runs/remove-workflow-artifacts","date":"2026-10-22","proved":"'By default, GitHub stores build logs and artifacts for 90 days'"}],"verdict":"qualifies","verified_at":"2026-10-22T03:05:00.000Z","price_per_tb_month":null,"notes":"Unlimited minutes is true and it is not the number that decides anything. The capacity is the 20-slot concurrency: 20 slots x 24 h is 480 runner-hours a day, which is the flow ceiling, and the 120 runner-hours the slots hold at one instant is a stock and not a rate. Minutes are not scarce; a single job that runs longer than six hours is impossible. A 256-job matrix at the six-hour ceiling is 1,536 runner-hours, or thirteen waves of 20 and 78 hours of wall clock."},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":6.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":6.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[2].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[3].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[4].value","kind":"limit:per-object-cap","num":10.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[],"history":[],"drift":[]},{"rid":"coding-subs/github-copilot","card":{"rid":"coding-subs/github-copilot","eid":"github","topic":"coding-subs","slug":"github-copilot","provider":"GitHub Copilot","url":"https://github.com/features/copilot/plans","domain":"github.com","category":"coding subscription","tier":null,"verdict":"qualifies","vorder":0,"grp":"usable","confidence":"documented","binding":"request-rate","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"cli,rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T04:31:26.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":1,"usd_month":null,"usd_per_tb_month":null,"summary":"Free: USD 0, 2,000 completions per month, access to Haiku 4.5 and GPT-5 mini, Copilot CLI, community support, no credit card required","duplicate_of":null,"n_unknown":2},"record":{"topic":"coding-subs","per_object_cap":{"stated":"not applicable: a subscription meters usage, not objects"},"retention":{"stated":"not applicable"},"egress":{"terms":"not applicable: the vendor serves the inference","metered":false},"interface":["cli","rest"],"tooling":"gh CLI extension; agent mode in VS Code, JetBrains, Neovim, Xcode, Eclipse","chaining":"a $0 agent surface for a repository task; the Copilot CLI is the part a script can drive","limits":[{"kind":"request-rate","value":"2,000 completions per month on Free","source":"https://github.com/features/copilot/plans, read 2026-10-22"}],"reliability_note":"no reliability event recorded","slug":"github-copilot","provider":"GitHub Copilot","url":"https://github.com/features/copilot/plans","category":"coding subscription","free_tier":{"stated":"Free: USD 0, 2,000 completions per month, access to Haiku 4.5 and GPT-5 mini, Copilot CLI, community support, no credit card required","unit":"requests","metered_on":"request-count","source_url":"https://github.com/features/copilot/plans","read_on":"2026-10-22","notes":"2,000 is completions, not agent turns or tokens. Paid tiers meter GitHub AI Credits."},"interface_detail":"Copilot CLI, plus agent mode and code review inside the editor and on github.com","identity_cost":{"kind":"email","detail":"a GitHub account; the page states 'No credit card required' for Free","country":null},"confidence":"documented","confidence_note":"prices and the Free allowance are quoted from the vendor page read today. The per-credit consumption rate of agent mode is not published here. verified_at is the instant its evidence URLs were fetched on 2026-10-22, read from the fetch log, not typed.","evidence":[{"url":"https://github.com/features/copilot/plans","date":"2026-10-22","proved":"Free is USD 0 with 2,000 completions a month and no card; Pro USD 10, Pro+ USD 39, Max USD 100; monthly credit allowances USD 15, USD 70, USD 200"}],"verdict":"qualifies","verified_at":"2026-10-22T04:31:26.000Z","price_per_tb_month":null,"notes":"Free is the only tier here whose monthly allowance is stated in a unit that does not inflate: completions. The paid tiers moved to GitHub AI Credits, so their allowance is denominated in money rather than in requests.","binding":"request-rate"},"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:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.reliability_note","none-observed"],["$.retention.stated","not-applicable"]],"history":[],"drift":[]},{"rid":"compute/github-codespaces","card":{"rid":"compute/github-codespaces","eid":"github","topic":"compute","slug":"github-codespaces","provider":"GitHub Codespaces","url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","domain":"github.com","category":"dev environment","tier":"GitHub Free for personal accounts","verdict":"qualifies","vorder":0,"grp":"usable","confidence":"documented","binding":"volume-quota","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,cli","egress_metered":0,"per_object_bytes":null,"retention_days":30,"verified_at":"2026-10-24T04:00:19.000Z","verified_basis":"live","checked_on":"2026-10-25","stale_on":"2026-11-24","n_evidence":24,"usd_month":0.0,"usd_per_tb_month":null,"summary":"Quoted: 'All GitHub personal accounts include a quota of free compute time and storage for GitHub Codespaces.' The table row is '| GitHub Free for personal a...","duplicate_of":null,"n_unknown":0},"record":{"topic":"compute","per_object_cap":{"stated":"not applicable: the unit is a session, not an object"},"interface":["rest","cli"],"interface_detail":"gh codespace ssh and the VS Code or browser client; a devcontainer defines the image","tooling":"gh CLI, the Codespaces API, devcontainer.json, prebuilds","chaining":"the cheapest path to a real Linux dev machine with a shell that a GitHub identity already opens","limits_note":"120 core-hours is the number that binds. At the 2-core default it is 60 hours a month, which is 2 hours a day; at 4 cores it is 30 hours a month, which is 1 hour a day. The 12-hour maximum lifetime per session and the 30-minute default idle stop are what keep the quota from being burned in one sitting.","reliability_note":"a codespace stops on an account-level idle timeout (30 minutes by default, settable between 5 and 240 minutes) and is deleted 30 days after it is stopped, irrespective of unpushed changes","confidence":"documented","verified_at":"2026-10-24T04:00:19.000Z","price_per_tb_month":null,"slug":"github-codespaces","provider":"GitHub Codespaces","url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","category":"dev environment","free_tier":{"stated":"Quoted: 'All GitHub personal accounts include a quota of free compute time and storage for GitHub Codespaces.' The table row is '| GitHub Free for personal accounts | 15 GB-month | 120 hrs |'. The 120 is a core-hour: the compute column is multiplied by the machine's core count, so 120 core-hours is 60 wall-clock hours on the 2-core default. Quoted: 'The compute cost is proportional to the number of processor cores in the machine type you choose for your codespace, as shown in the following table. For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine.'","unit":"hours","metered_on":"wall-clock","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","read_on":"2026-10-24","notes":"The vendor's own header for the column is 'Compute time per month' and the value is 120 hrs, but the included-usage multiplier makes it core-hours. 120 core-hours / 2 cores = 60 hours of the default machine."},"retention":{"stated":"Quoted: 'Inactive codespaces are automatically deleted. You can choose how long your stopped codespaces are retained, up to a maximum of 30 days.' and 'By default, GitHub Codespaces are automatically deleted after they have been stopped and have remained inactive for 30 days.' and 'Automatic deletion happens irrespective of whether a codespace contains unpushed changes.' The disk persists across a stop and start until that clock runs out.","days":30,"source_url":"https://docs.github.com/en/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces","notes":"The clock runs from the moment the codespace is stopped and restarts when it is connected to again."},"egress":{"terms":"no egress allowance or per-byte price published on any page read; the billing page prices compute per core-hour and storage per GB-month and says nothing about transfer","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces"},"limits":[{"kind":"volume-quota","value":"120 core-hours of compute a month on GitHub Free, which is 60 wall-clock hours on the 2-core default machine and 30 hours on a 4-core","source":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces"},{"kind":"volume-quota","value":"15 GB-month of storage a month on GitHub Free; beyond it, USD 0.07 per GB-month","source":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces"},{"kind":"retention-clamped","value":"Quoted: 'A codespace will stop running after a period of inactivity. By default this period is 30 minutes' and 'Regardless of your idle timeout setting, a codespace has a maximum lifetime of 12 hours.'","source":"https://docs.github.com/en/codespaces/setting-your-user-preferences/setting-your-timeout-period-for-github-codespaces"},{"kind":"retention-clamped","value":"Quoted: 'By default, GitHub Codespaces are automatically deleted after they have been stopped and have remained inactive for 30 days.' Automatic deletion happens irrespective of unpushed changes.","source":"https://docs.github.com/en/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces"},{"kind":"write-gated","value":"Quoted: 'If your account does not have a valid payment method on file, usage is blocked once you use up your quota.' A card is the price of continuity past the quota, not of entry.","source":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces"},{"kind":"write-gated","value":"The terms scope the machine away from serving. Quoted: 'Any activity that places a burden on our servers, where that burden is disproportionate to the benefits provided to users (for example, don't use Codespaces as a content delivery network, as part of a serverless application, or to host any kind of production-facing application)'.","source":"https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features"}],"identity_cost":{"kind":"email","detail":"a GitHub account and nothing else: no card, no phone and no identity document to create a codespace. No hold exists because no card is taken. The gate is at the quota, not at signup: 'If your account does not have a valid payment method on file, usage is blocked once you use up your quota.' Debit acceptance is not stated on any page read.","country":null},"evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-22","proved":"GitHub Free for personal accounts: 15 GB-month storage and 120 hours compute a month"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-22","proved":"if the account has no valid payment method, usage is blocked once the quota is used"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-22","proved":"the compute cost is proportional to the core count, so a 16-core machine costs eight times a 2-core one"},{"url":"https://docs.github.com/en/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces","date":"2026-10-22","proved":"quoted: deleted after 30 days stopped and inactive; maximum retention is 30 days; 'Automatic deletion happens irrespective of whether a codespace contains unpushed changes'"},{"url":"https://docs.github.com/en/codespaces/troubleshooting/troubleshooting-included-usage","date":"2026-10-22","proved":"quoted: compute counted in core hours as active time multiplied by the machine's core multiplier; default idle timeout stops a codespace after 30 minutes"},{"url":"https://docs.github.com/en/codespaces/troubleshooting/troubleshooting-creation-and-deletion-of-codespaces","date":"2026-10-22","proved":"quoted: only the creator, an org owner, or the retention period can delete a codespace"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-22","proved":"the GitHub Free for personal accounts row is 15 GB-month of storage and 120 hrs of compute, and 'the compute cost ... is proportional to the number of processor cores', quoted"},{"url":"https://docs.github.com/en/codespaces/overview","date":"2026-10-22","proved":"machine types run 'from 2 cores, 8 GB RAM, and 32 GB storage, up to 32 cores, 128 GB RAM, and 128 GB storage', quoted"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-22","proved":"the page's own worked example: 'the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine', quoted"},{"url":"https://docs.github.com/en/codespaces/overview","date":"2026-10-24","proved":"quoted: 'from 2 cores, 8 GB RAM, and 32 GB storage, up to 32 cores, 128 GB RAM, and 128 GB storage'; and 'You have limited access to the outer Linux virtual machine host.'"},{"url":"https://github.com/features/codespaces","date":"2026-10-24","proved":"quoted: 'GitHub will provide users in the free plan 120 core hours or 60 hours of run time on a 2 core codespace, plus 15 GB of storage each month.'"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-24","proved":"quoted: 'If your account does not have a valid payment method on file, usage is blocked once you use up your quota.'"},{"url":"https://docs.github.com/en/codespaces/setting-your-user-preferences/setting-your-timeout-period-for-github-codespaces","date":"2026-10-24","proved":"quoted: 'A codespace will stop running after a period of inactivity. By default this period is 30 minutes'; and 'a codespace has a maximum lifetime of 12 hours'"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-24","proved":"quoted: '| GitHub Free for personal accounts | 15 GB-month | 120 hrs |'"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-24","proved":"quoted: '| Codespaces compute | 2 core | 1 hour | 2 | $0.18 |' — the rate that makes 120 core-hours 60 hours of 2 cores"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-24","proved":"quoted: 'All GitHub personal accounts include a quota of free compute time and storage for GitHub Codespaces.'"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-24","proved":"quoted: 'All GitHub personal accounts include a quota of free compute time and storage for GitHub Codespaces.' and the table row '| GitHub Free for personal accounts | 15 GB-month | 120 hrs |'"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-24","proved":"quoted: 'The compute cost is proportional to the number of processor cores in the machine type you choose for your codespace ... For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine.' Rate table: '| Codespaces compute | 2 core | 1 hour | 2 | $0.18 |' and '| Codespaces storage | Storage | 1 GB-month | Not applicable | $0.07 |'"},{"url":"https://docs.github.com/en/codespaces/overview","date":"2026-10-24","proved":"quoted: 'Each codespace you create is hosted by GitHub in a Docker container, running on a virtual machine. You can choose from a selection of virtual machine types, from 2 cores, 8 GB RAM, and 32 GB storage, up to 32 cores, 128 GB RAM, and 128 GB storage.'"},{"url":"https://docs.github.com/en/codespaces/setting-your-user-preferences/setting-your-timeout-period-for-github-codespaces","date":"2026-10-24","proved":"quoted: 'A codespace will stop running after a period of inactivity. By default this period is 30 minutes' and 'Regardless of your idle timeout setting, a codespace has a maximum lifetime of 12 hours.' The settable range is 'between 5 minutes and 240 minutes (4 hours)'."},{"url":"https://docs.github.com/en/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces","date":"2026-10-24","proved":"quoted: 'Inactive codespaces are automatically deleted. You can choose how long your stopped codespaces are retained, up to a maximum of 30 days.' and 'By default, GitHub Codespaces are automatically deleted after they have been stopped and have remained inactive for 30 days.' and 'Automatic deletion happens irrespective of whether a codespace contains unpushed changes.'"},{"url":"https://docs.github.com/en/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace","date":"2026-10-24","proved":"quoted: 'Port forwarding gives you access to TCP ports running within your codespace.' and 'share forwarded ports publicly' — a forwarded port gets a URL, and public visibility makes it reachable, which a standard Actions runner cannot offer."},{"url":"https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features","date":"2026-10-24","proved":"quoted: 'Any activity that places a burden on our servers, where that burden is disproportionate to the benefits provided to users (for example, don't use Codespaces as a content delivery network, as part of a serverless application, or to host any kind of production-facing application)'"},{"url":"https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github","date":"2026-10-24","proved":"quoted: 'To get started with GitHub.com, you need to have a personal account and a verified email address.'"}],"verdict":"qualifies","notes":"The core-hour unit is the trap: 120 reads like hours and is not, because it is spent per core, so the wall-clock allowance halves at 4 cores and quarters at 8. The shape is quoted from the overview page as the bottom of the machine-type range: 2 cores, 8 GB RAM, 32 GB storage, and the vendor writes decimal GB, kept unconverted. Identity is email, not card: the gate is at the quota, so a reader who plans one month never meets a card and a reader who plans a second month does. Two things this record does not establish. First, the egress term: no page read publishes a quota, a shaping tier or a price for transfer, so the field is a dash and not 'unlimited'.","extras":{"shape":{"vcpu":2,"ram_gib":8,"disk_gib":32,"gpu_class":null,"gpu_count":null,"note":"the 2-core default, quoted as 'from 2 cores, 8 GB RAM, and 32 GB storage'. The vendor writes decimal GB; the numbers are kept unconverted, so 8 GB is about 7.5 GiB and 32 GB about 29.8 GiB."},"billing_model":"free","granularity":{"min_billed_s":60,"rounding_s":60},"session_cap":{"wall_clock_min":720,"idle_reap_s":1800,"restart_required":false,"note":"12 hours maximum lifetime per session regardless of settings; stops after 30 minutes idle by default, settable between 5 and 240 minutes; deleted 30 days after being stopped. The disk survives a stop and start."},"keep_rate":{"value":0.0,"basis":"compute stops when the codespace stops; storage keeps billing at USD 0.07 per GB-month past 15 GB-month","source":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces"},"persistent_storage":{"included_gib":15,"price_gib_month":"USD 0.07 per GB-month beyond the quota","durability":"the codespace disk survives a stop and a start, and is destroyed when the codespace is deleted or 30 days after it was stopped","survives_stop":true,"survives_destroy":false,"max_retention":"30 days after the codespace is stopped, by default"},"network_out":{"allow_outbound":true,"allow_inbound_listen":true,"ports":"forwarded ports get a URL; a port can be made public, so this is the one GitHub free machine that can serve a request","static_ip":false,"ipv6":false,"per_session_bytes":null},"free_tier_kind":"free-forever-with-quota","m10h_usd":0.0,"m24h_usd":0.0,"price_arithmetic":"120 core-hours / 2 cores = 60 wall-clock hours a month at USD 0.00 inside the quota. 10 h a day x 30 = 300 h needs 600 core-hours, five times the quota. 24/7 x 30 = 730 h needs 1,460 core-hours, twelve times the quota. Past the quota the rate is USD 0.18 per core-hour, so 600 core-hours would be USD 108.00 and 1,460 core-hours USD 262.80, both of which need a payment method on file.","census_rows":["github-codespaces"],"price_basis":"10 h/day x 30 = 300 h; 24/7 x 30 = 730 h; core-hours, not wall-clock hours","burst_x":1.0,"wave2":{"merged_agents":["a08-chaining","b09-inverse-search"],"merged_evidence_rows":7,"merged_note":"Batch 1 recorded Codespaces correctly as 120 core-hours a month on GitHub Free, which is 60 wall-clock hours on the default 2-core machine. GitHub's documentation adds a second clock that destroys the state rather than the allowance, quoted: 'Inactive codespaces are automatically deleted. You can choose how long your stopped codespaces are retained, up to a maximum of 30 days. By default, GitHub Codespaces are automatically deleted after they have been stopped and have remained inactive for 30 days.' And explicitly: 'Automatic deletion happens irrespective of whether a codespace contains unpus"},"shape_note":"vendor states 32 GB (decimal) storage; kept as stated. RAM 8 GB is the vendor's own figure.","term":"none","unattended":true,"unattended_mechanism":"a codespace keeps running while the browser is closed, subject to the account's idle-stop timeout; a background process survives until the codespace stops","units":"RAM and disk are the vendor's decimal GB, kept unconverted in ram_gib and disk_gib so 8 GB reads as 8 and 32 GB reads as 32. The true values are about 7.5 GiB and 29.8 GiB.","concurrency":{"jobs_at_once":null,"note":"not published on any page read: the number of codespaces one account may run at once is not stated. What is stated is that the quota is spent per core-hour, so running two 2-core codespaces spends it twice as fast."},"wave3":{"verified":["120 core-hours and 15 GB-month on GitHub Free","the 2-core / 8 GB / 32 GB bottom shape","30-minute default idle stop, settable 5 to 240 minutes","12-hour maximum lifetime per session","30-day deletion after a stop, irrespective of unpushed changes","no card at signup; a card only past the quota"],"new":"the Additional Product Terms add a fifth bullet to the Codespaces list that the corpus did not carry: the machine may not be used 'to host any kind of production-facing application'","open":"the egress term, and whether a forwarded public port survives an idle stop"}},"binding":"volume-quota","binding_note":"120 core-hours is 60 hours on the smallest machine, so at 24/7 the month is gone in two and a half days. The quota is what fails, not identity and not the clock.","tier":"GitHub Free for personal accounts","confidence_note":"the quota, the storage allowance, the per-core multiplier and the payment-method block are quoted from GitHub's billing page read today; the idle timeout, the 12-hour lifetime and the 30-day retention are quoted from GitHub's own how-to pages read today; the 2-core shape is quoted from the Codespaces overview. The egress term is not published anywhere read and is recorded as absent."},"claims":[{"path":"$.extras.m10h_usd","kind":"price","num":0.0,"unit":null,"per":"month","currency":"USD","usd":0.0,"fx_date":null,"parse":"ok"},{"path":"$.extras.m24h_usd","kind":"price","num":0.0,"unit":null,"per":"month","currency":"USD","usd":0.0,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":15.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:volume-quota","num":30.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:volume-quota","num":15.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[2].value","kind":"limit:retention-clamped","num":30.0,"unit":"minutes","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[3].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[4].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[5].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[],"history":[],"drift":[]},{"rid":"egress/github-releases-cdn","card":{"rid":"egress/github-releases-cdn","eid":"github","topic":"egress","slug":"github-releases-cdn","provider":"GitHub Releases","url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","domain":"github.com","category":"static file host (CDN-backed)","tier":null,"verdict":"qualifies","vorder":0,"grp":"usable","confidence":"measured","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,cli","egress_metered":0,"per_object_bytes":2147483648,"retention_days":null,"verified_at":"2026-10-22T03:20:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-12-22","n_evidence":3,"usd_month":null,"usd_per_tb_month":null,"summary":"no total size and no bandwidth limit; under 2 GiB per file; 1,000 assets per release","duplicate_of":null,"n_unknown":0},"record":{"topic":"egress","slug":"github-releases-cdn","provider":"GitHub Releases","url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","category":"static file host (CDN-backed)","free_tier":{"stated":"no total size and no bandwidth limit; under 2 GiB per file; 1,000 assets per release","unit":"unlimited","metered_on":"downloaded-bytes","source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","read_on":"2026-10-22","notes":""},"per_object_cap":{"stated":"under 2 GiB per asset","bytes":2147483648,"notes":"","source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases"},"retention":{"stated":"an asset lives until the release is deleted","days":null,"notes":"","source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases"},"egress":{"terms":"no bandwidth limit stated; ranged GETs served from release-assets.githubusercontent.com with a fresh signature per request","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases"},"interface":["rest","cli"],"tooling":"gh release, curl","chaining":"the bulk egress lane that needs no domain and no card: the 2 GiB per-asset cap sets the shard size and the volume is not metered, so it composes with a manifest and a ranged fetcher.","limits":[{"kind":"per-object-cap","value":"under 2 GiB per asset","source":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases"},{"kind":"per-object-cap","value":"1,000 assets per release","source":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases"}],"identity_cost":{"kind":"email","detail":"a GitHub account","country":null},"reliability_note":"the download URL redirects to a signed release-assets host; the signature is per request","confidence":"measured","evidence":[{"url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","date":"2026-10-22","proved":"'Up to 1000 release assets may be associated with a single release. Each file included in a release must be under 2 GiB. There is no limit on the total size of a release, nor bandwidth usage'"},{"url":"probe:https://release-assets.githubusercontent.com/github-production-release-asset/","date":"2026-10-22","proved":"206 with Content-Range bytes 0-1023/40227721 and Accept-Ranges: bytes on a freshly resolved URL"},{"url":"probe:https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64","date":"2026-10-22","proved":"1 connection: 40,227,721 bytes in 5.71 s = 6.72 MiB/s. 4 connections with a minted URL each: 40,227,721 bytes in 2.72 s = 14.11 MiB/s"}],"verdict":"qualifies","verified_at":"2026-10-22T03:20:00.000Z","notes":"14.11 MiB/s at 4 connections is 1.16 TiB/day, which clears the client's serving floor on one account. A control download from proof.ovh.net on the same machine at the same time reached 29.5 MiB/s, so this is not the machine's ceiling.","extras":{"stale_after_days":180,"bytes_transit":"yes","transit_note":"the asset is served from release-assets.githubusercontent.com"},"binding":"per-object-cap","binding_note":"2 GiB per asset sets the shard size; the volume itself is not metered.","interface_detail":"https://github.com/OWNER/REPO/releases/download/TAG/NAME, redirecting to a signed release-assets URL"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":2.0,"unit":"GiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":2.0,"unit":"GiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:per-object-cap","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[],"history":[],"drift":[]},{"rid":"storage/github-releases","card":{"rid":"storage/github-releases","eid":"github","topic":"storage","slug":"github-releases","provider":"GitHub Releases (release assets)","url":"https://github.com","domain":"github.com","category":"paas","tier":null,"verdict":"qualifies","vorder":0,"grp":"usable","confidence":"documented","binding":"per-object-cap","identity_kind":"institution","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":1,"country":null,"crypto":null,"interfaces":"rest,rclone,cli","egress_metered":0,"per_object_bytes":2147483648,"retention_days":null,"verified_at":"2026-10-22T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-20","n_evidence":5,"usd_month":null,"usd_per_tb_month":null,"summary":"No total quota. Docs verbatim: 'Up to 1000 release assets may be associated with a single release. Each file included in a release must be under 2 GiB. There...","duplicate_of":null,"n_unknown":4},"record":{"topic":"storage","slug":"github-releases","provider":"GitHub Releases (release assets)","url":"https://github.com","category":"paas","free_tier":{"stated":"No total quota. Docs verbatim: 'Up to 1000 release assets may be associated with a single release. Each file included in a release must be under 2 GiB. There is no limit on the total size of a release, nor bandwidth usage.' Per-file ceiling is the Git LFS max for the plan: GitHub Free 2 GB, Pro 2 GB, Team 4 GB, Enterprise Cloud 5 GB.","unit":"GiB","metered_on":"unstated","source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"2 GiB per file","bytes":2147483648,"source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","notes":"not stated"},"retention":{"stated":"This is the ONLY cap found in the entire CI/CD field that is not a quota. No expiry: releases persist until deleted","source_url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","notes":"not stated"},"egress":{"terms":"Free and unmetered. Docs: 'We don't limit the total size of the binary files in the release or the bandwidth used to deliver them.' Served 302 -> release-assets.githubusercontent.com with no auth.","metered":false},"interface":["rest","rclone","cli"],"interface_detail":"rest","tooling":"REST POST /repos/{owner}/{repo}/releases + upload asset endpoint (Accept: application/octet-stream); gh CLI 'gh release upload'; rclone has no release backend, but plain curl/Python is a complete client. Proxy/wrapper repos: iBug/cf-github-releases (21 stars, Cloudflare Workers download site), kdrag0n/github-releases-proxy (8 stars), watermint/toolbox has a github-release-asset-upload command (87 stars).","chaining":"UNBOUNDED: unlimited free repos (GitHub Free = unlimited public and unlimited private repos) x unlimited releases per repo x 1000 assets per release x <2 GiB per asset. 10 repos x 50 releases x 1000 assets x 2 GiB = 1 PiB nominal; the real constraint is API/upload time, not space. Also chain with Cloudflare in front (cf-github-releases) for a clean CDN domain.","limits":[{"kind":"per-object-cap","value":"2 GiB per file","source":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases"}],"limits_note":"2 GiB per file (2 GB on Free, 4 GB Team, 5 GB Enterprise). 1000 assets per release. This is the ONLY cap found in the entire CI/CD field that is not a quota. No expiry: releases persist until deleted. Upload is authenticated; download is fully anonymous.","identity_cost":{"kind":"institution","detail":"derived from the record's prose, not from an identity field, and no signup was executed: 000 assets x 2 GiB = 1 PiB nominal; the real constraint is API/upload time, not space. Also chain with Cloudflare in front (cf-github-releases) for a clean CDN domain. 2 GiB per file","country":null},"reliability_note":"Very stable; assets are immutable per release. Deleting a release or repo destroys the assets. Uploading >1000 assets to one release requires multiple releases — plan release granularity, not asset count.","confidence":"documented","confidence_note":"re-read from read-broker on 2026-10-22 (HTTP 200, 3494 bytes, sha256 422579c390d76156). The page states the number in the record; the claim is documented, not measured.","evidence":[{"url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","date":"2026-10-22","proved":"2 GiB per release asset and 1,000 assets per release, no bandwidth limit. Re-read https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases: HTTP 200, 3494 bytes, sha256 422579c390d76156. Quoted: ease assets](/en/rest/releases). ## Storage and bandwidth quotas Up to 1000 release assets may be associated with a single release. Each file included in a release must be under 2 GiB. There is no limit on the total size of a release, nor bandwidth usage."},{"url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","date":"2026-10-21","proved":"'There is no limit on the total size of a release, nor bandwidth usage'"},{"url":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github","date":"2026-10-21","proved":"'We don't limit the total size of the binary files in the release or the bandwidth used to deliver them', and LFS max-file table (Free 2 GB / Team 4 GB)"},{"url":"https://github.com/cli/cli/releases/download/v2.80.0/gh_2.80.0_linux_amd64.tar.gz","date":"2026-10-21","proved":"probe: curl -L -r 0-1023 -> 302 to release-assets.githubusercontent.com, then 206 with 1024 bytes, no auth"},{"url":null,"date":"2026-10-21","proved":"probe: 6 parallel anonymous GETs of a release asset -> 302 302 302 302 302 302 (no throttling observed)"}],"verdict":"qualifies","verified_at":"2026-10-22T00:00:00.000Z","notes":"No total quota. Docs verbatim: 'Up to 1000 release assets may be associated with a single release. Each file included in a release must be under 2 GiB. There is no limit on the total size of a release, nor bandwidth usage.' Per-file ceiling is the Git LFS max for the plan: GitHub Free 2 GB, Pro 2 GB, Team 4 GB, Enterprise Cloud 5 GB.","extras":{"verified_in_pass":[{"url":"https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases","date":"2026-10-22","via":"read-broker","http_status":200,"bytes":3494,"sha256":"422579c390d76156b65ddf5b5f771de58638f91b1c5fc3c624b7153572cc32c1","pattern_found":true,"what_changed":"no change: the page still states the claim","capture":"captures\\github-releases-docs-github-com-en-repositories-releasing-projects-on-github-about-release.txt"}]},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":2.0,"unit":"GiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":2.0,"unit":"GiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.evidence[4].url","private-url"],["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]},{"rid":"ci-cd-runners/ghcr","card":{"rid":"ci-cd-runners/ghcr","eid":"github","topic":"ci-cd-runners","slug":"ghcr","provider":"GitHub Container Registry","url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","domain":"github.com","category":"container registry","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":"oci,rest","egress_metered":1,"per_object_bytes":null,"retention_days":90,"verified_at":"2026-10-22T03:05:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":5,"usd_month":null,"usd_per_tb_month":null,"summary":"public packages free; private packages 500 MB of storage and 1 GB of transfer a month on GitHub Free, shared with GitHub Packages and Actions artifacts","duplicate_of":null,"n_unknown":0},"record":{"topic":"ci-cd-runners","slug":"ghcr","provider":"GitHub Container Registry","url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","category":"container registry","free_tier":{"stated":"public packages free; private packages 500 MB of storage and 1 GB of transfer a month on GitHub Free, shared with GitHub Packages and Actions artifacts","unit":"MB","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","read_on":"2026-10-22","metered_on":"stored-bytes"},"per_object_cap":{"stated":"500 MB total private storage on Free, shared with Packages and Actions artifacts; no per-layer cap is published","bytes":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"retention":{"stated":"a package persists until deleted; it shares the storage pool with artifacts, which expire at 90 days","days":90,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"egress":{"terms":"1 GB of data transfer a month for private packages on Free; a download by Actions using GITHUB_TOKEN does not count","metered":true,"free_allowance":"1 GB per month for private packages","price_per_tb":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"interface":["oci","rest"],"interface_detail":"the OCI distribution API at ghcr.io; docker login with a personal access token or GITHUB_TOKEN","tooling":"docker, podman, skopeo, oras, crane","chaining":"the artifact store for a GitHub Actions build, and the link that fails first: 500 MB is one modest image","limits":[{"kind":"per-object-cap","value":"500 MB of private storage shared with Packages and Actions artifacts","source":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},{"kind":"request-rate","value":"1 GB of private-package transfer a month","source":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"}],"limits_note":"'your total storage across Packages and Actions artifacts cannot exceed the included amount for your plan'; a download by Actions with GITHUB_TOKEN does not consume the transfer allowance","binding":"per-object-cap","identity_cost":{"kind":"email","detail":"a GitHub account; a personal access token with packages scope for a push","country":null},"reliability_note":"a public package pulls anonymously, as Docker Hub does; a token request for a repository that does not exist returns 403 DENIED, which states nothing about private ones","confidence":"documented","confidence_note":"the storage and transfer figures are a first-party page, and they are the fields the verdict rests on. The anonymous token and manifest probes prove the read path, which does not raise a documented quota.","evidence":[{"url":"probe:https://ghcr.io/token?scope=repository:catthehacker/ubuntu:pull&service=ghcr.io","date":"2026-10-22","proved":"200 with 69 bytes of token JSON, {\"token\":\"djE6Y2F0dGhlaGFja2VyL3VidW50dToxNzkyNjQxMjI2Njg2NzQ2MTE3\"}, sha256 e26b35c1dc64bf51b6e02f5a20f7d7fbf436a944d445155e8fc313a42ec3a808; GHCR issues an anonymous pull token for a public package"},{"url":"probe:https://ghcr.io/v2/catthehacker/ubuntu/manifests/act-latest","date":"2026-10-22","proved":"200 with 754 bytes, schemaVersion 2, mediaType application/vnd.oci.image.index.v1+json, sha256 62d572b92f9f32d3427b6d220ad1f9dca9c7b6ffad37d295425037dbff78abaf; the anonymous token fetches a manifest"},{"url":"probe:https://ghcr.io/token?scope=repository:library/hello-world:pull&service=ghcr.io","date":"2026-10-22","proved":"403 with 86 bytes, DENIED. This is the negative control: library/ is Docker Hub's namespace and does not exist on ghcr.io, so the 403 answers the path, not the anonymity policy"},{"url":"probe:https://auth.docker.io/token?service=registry.docker.io&scope=repository:library/alpine:pull","date":"2026-10-22","proved":"200 with 5,489 bytes of token JSON, so Docker Hub does issue anonymous pull tokens and a public base image is free"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","date":"2026-10-22","proved":"storage is shared with Actions artifacts and cannot exceed the plan amount; a 500 MB package in a private repository consumes 500 MB of storage and a download consumes 500 MB of transfer; an Actions download with GITHUB_TOKEN does not count"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T03:05:00.000Z","price_per_tb_month":null,"notes":"500 MB is smaller than one CUDA image. The shared pool with artifacts is the part that surprises: a build that keeps artifacts and pushes an image is spending one budget twice. The earlier 'no anonymous pull token' claim came from requesting library/hello-world, which is Docker Hub's namespace; three real public packages return 200 plus a fetchable manifest."},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":1.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[],"history":[{"hid":"history/2026-10-22T041501Z/ghcr-anonymous-pull-wrong-namespace.md","when":"2026-10-22T04:15:01Z","status":"corrected","title":"A `measured` claim that GHCR issues no anonymous pull tokens was a probe of a repository that does not exist"}],"drift":[]},{"rid":"ci-cd-runners/github-actions-private","card":{"rid":"ci-cd-runners/github-actions-private","eid":"github","topic":"ci-cd-runners","slug":"github-actions-private","provider":"GitHub Actions on a private repository","url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","domain":"github.com","category":"CI runner","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"request-rate","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"git,cli","egress_metered":1,"per_object_bytes":null,"retention_days":90,"verified_at":"2026-10-22T03:05:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":2,"usd_month":null,"usd_per_tb_month":0.006,"summary":"2,000 minutes a month on GitHub Free, 3,000 on Pro and Team, 50,000 on Enterprise; 500 MB of artifact storage on Free","duplicate_of":null,"n_unknown":1},"record":{"topic":"ci-cd-runners","slug":"github-actions-private","provider":"GitHub Actions on a private repository","url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","category":"CI runner","free_tier":{"stated":"2,000 minutes a month on GitHub Free, 3,000 on Pro and Team, 50,000 on Enterprise; 500 MB of artifact storage on Free","unit":"minutes","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","read_on":"2026-10-22","metered_on":"wall-clock"},"per_object_cap":{"stated":"6 hours per job, the same as the public path; the difference is the monthly minute pool","bytes":null,"source_url":"https://docs.github.com/en/actions/reference/limits"},"retention":{"stated":"artifacts kept 90 days by default; the runner is destroyed at the end of the job","days":90,"source_url":"https://docs.github.com/en/actions/how-tos/manage-workflow-runs/remove-workflow-artifacts"},"egress":{"terms":"no egress charge; artifact storage is 500 MB on Free and shared with GitHub Packages","metered":true,"free_allowance":"500 MB artifact and package storage","price_per_tb":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"interface":["git","cli"],"interface_detail":"the same workflow YAML; minutes are charged to the repository owner, not the trigger","tooling":"the same runner images as the public path","chaining":"the honest paid path: 2,000 minutes is 33 hours of one runner a month, and beyond it Linux billing is USD 0.006 a minute","limits":[{"kind":"request-rate","value":"2,000 minutes a month on Free; minutes reset at the start of each billing cycle","source":"https://docs.github.com/en/billing/concepts/product-billing/github-actions"},{"kind":"per-object-cap","value":"6 hours per job; 500 MB of artifact storage shared with Packages on Free","source":"https://docs.github.com/en/actions/reference/limits"},{"kind":"request-rate","value":"20 concurrent jobs on Free","source":"https://docs.github.com/en/actions/reference/limits"}],"binding":"request-rate","identity_cost":{"kind":"email","detail":"a GitHub account; no card while inside the included amounts","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","confidence_note":"the billing page's plan table was read today.","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-22","proved":"Free: 500 MB artifact storage and 2,000 minutes; Pro 1 GB and 3,000; Team 2 GB and 3,000 with 75 GB custom images; Enterprise 50 GB and 50,000; Linux baseline USD 0.006 a minute and Windows USD 0.010"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-22","proved":"'Minutes usage is charged to the repository owner, not the person who triggered the workflow runs'"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T03:05:00.000Z","price_per_tb_month":"USD 0.006 per Linux minute beyond the allowance","notes":"2,000 minutes is 33 hours and the per-job cap still applies, so the two limits are independent and the smaller one wins. A single six-hour job already spends 18% of the month."},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":2000.0,"unit":"minutes","per":"month","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:request-rate","num":2000.0,"unit":"minutes","per":"month","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:per-object-cap","num":6.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[2].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.price_per_tb_month","kind":"price-per-tb","num":0.006,"unit":"TB","per":"month","currency":"USD","usd":0.006,"fx_date":null,"parse":"ok"}],"unknown":[["$.reliability_note","none-observed"]],"history":[],"drift":[]},{"rid":"ci-cd-runners/github-packages","card":{"rid":"ci-cd-runners/github-packages","eid":"github","topic":"ci-cd-runners","slug":"github-packages","provider":"GitHub Packages","url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","domain":"github.com","category":"package registry","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,cli","egress_metered":1,"per_object_bytes":null,"retention_days":90,"verified_at":"2026-10-22T03:05:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":1,"usd_month":null,"usd_per_tb_month":null,"summary":"500 MB of storage and 1 GB of transfer a month on GitHub Free, shared with Actions artifacts","duplicate_of":null,"n_unknown":1},"record":{"topic":"ci-cd-runners","slug":"github-packages","provider":"GitHub Packages","url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","category":"package registry","free_tier":{"stated":"500 MB of storage and 1 GB of transfer a month on GitHub Free, shared with Actions artifacts","unit":"MB","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","read_on":"2026-10-22","metered_on":"stored-bytes"},"per_object_cap":{"stated":"500 MB total across all package types and artifacts on Free","bytes":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"retention":{"stated":"packages persist until deleted; artifacts in the same pool expire at 90 days","days":90,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"egress":{"terms":"1 GB of transfer a month on Free for private packages","metered":true,"free_allowance":"1 GB per month","price_per_tb":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},"interface":["rest","cli"],"interface_detail":"npm, Maven, Gradle, NuGet, RubyGems and Container registries under one billing pool","tooling":"the native package manager for each ecosystem, plus the gh CLI","chaining":"the same pool as GHCR, so a repository that publishes both competes with itself","limits":[{"kind":"per-object-cap","value":"500 MB of storage shared with Actions artifacts and every other package type","source":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"},{"kind":"request-rate","value":"1 GB of transfer a month for private packages","source":"https://docs.github.com/en/billing/concepts/product-billing/github-packages"}],"binding":"per-object-cap","identity_cost":{"kind":"email","detail":"a GitHub account","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","confidence_note":"the billing page was read today.","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-packages","date":"2026-10-22","proved":"'The storage amounts shown are shared with GitHub Actions artifacts'; a 500 MB package consumes 500 MB of storage and each download consumes 500 MB of transfer"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T03:05:00.000Z","price_per_tb_month":null,"notes":"Recorded separately from GHCR because the pool is shared and the two are routinely counted as if they were two allowances."},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:request-rate","num":1.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.reliability_note","none-observed"]],"history":[],"drift":[]},{"rid":"compute/github-actions","card":{"rid":"compute/github-actions","eid":"github","topic":"compute","slug":"github-actions","provider":"GitHub Actions","url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","domain":"github.com","category":"CI runner","tier":"GitHub Free, public repository, standard GitHub-hosted runner","verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"retention-clamped","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"ssh","egress_metered":null,"per_object_bytes":null,"retention_days":0,"verified_at":"2026-10-24T04:00:19.000Z","verified_basis":"live","checked_on":"2026-10-25","stale_on":"2026-11-24","n_evidence":24,"usd_month":0.0,"usd_per_tb_month":null,"summary":"On a public repository: 'Use of the standard GitHub-hosted runners is free and unlimited on public repositories.' The billing page repeats it as 'The use of ...","duplicate_of":null,"n_unknown":5},"record":{"topic":"compute","per_object_cap":{"stated":"not applicable","bytes":null,"notes":null},"interface":["ssh"],"interface_detail":"a workflow YAML in .github/workflows; a runner with a shell and a network","tooling":"a full Ubuntu, Windows or macOS runner with a shell, package managers and a checkout","chaining":"a runner is a real machine for up to six hours, destroyed at the end of the job","limits":[{"kind":"retention-clamped","value":"Quoted: 'Each job in a workflow can run for up to 6 hours of execution time. If a job reaches this limit, the job is terminated and fails.' The row is headed 'All GitHub-hosted runners'.","source":"https://docs.github.com/en/actions/reference/limits"},{"kind":"retention-clamped","value":"Quoted: 'If a workflow run reaches this limit, the workflow run is cancelled. This period includes execution duration, and time spent on waiting and approval.' The threshold is 35 days per workflow run, so the workflow cap is 35 days and the job cap is 6 hours; the job cap binds first.","source":"https://docs.github.com/en/actions/reference/limits"},{"kind":"request-rate","value":"Quoted: 'The shortest interval you can run scheduled workflows is once every 5 minutes.' A schedule is also only honoured on the default branch.","source":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows"},{"kind":"retention-clamped","value":"Quoted: 'In a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days.'","source":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows"},{"kind":"request-rate","value":"Job concurrency on the Free plan: 'Total concurrent jobs' 20, 'Maximum concurrent macOS jobs' 5, GPU 'Not applicable'. GitHub Support can raise it on a ticket.","source":"https://docs.github.com/en/actions/reference/limits"},{"kind":"write-gated","value":"No inbound reachability and no persistent disk. Quoted: 'When the job has finished, the VM is automatically decommissioned.' IPs are dynamic: 'GitHub-hosted runners use dynamically assigned IP addresses from shared infrastructure.'","source":"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses"},{"kind":"write-gated","value":"The 'unlimited' is scoped by contract, not by meter. Quoted from the Additional Product Terms: 'If using GitHub-hosted runners, any other activity unrelated to the production, testing, deployment, or publication of the software project associated with the repository where GitHub Actions are used' should not be done. Also: 'Any activity that places a burden on our servers, where that burden is disproportionate to the benefits provided to users (for example, don't use Actions as a content delivery network or as part of a serverless application ...)'.","source":"https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features"}],"limits_note":"The shape, the unlimited term, the 6-hour job cap, the 35-day workflow cap, the 5-minute cron floor, the 60-day schedule disablement and the 20-job concurrency are each quoted from a GitHub page read on 2026-10-24. The 6-hour cap is the one that binds: 6 hours x 20 concurrent jobs = 120 job-hours of wall clock, or 480 vCPU-hours, in any rolling window.","reliability_note":"no reliability event recorded","confidence":"documented","verified_at":"2026-10-24T04:00:19.000Z","price_per_tb_month":null,"notes":"The shape is confirmed exactly as the operator's answer states it: 4 vCPU, 16 GB RAM, 14 GB SSD, workflow label ubuntu-latest, on a public repository, on an email alone. Two things the phrase 'free and unlimited' hides, and both were read on a page today. First, the sentence is a vendor claim on a documentation page and the same vendor's Additional Product Terms scope it: Actions is for 'production, testing, deployment, or publication of the software project associated with the repository', and it may not be used where the burden is 'disproportionate to the benefits provided to users', with 'don't use Actions as a content delivery network or as part of a serverless application' as the worked example. So the meter is unlimited and the permitted use is not; the constraint is contractual and discretionary, which is a worse ceiling than a number because there is no threshold at which it is safe. Second, the phrase '14 GiB SSD' in the corpus understates the vendor: GitHub writes 14 GB, decimal, which is about 13.0 GiB. The record keeps the vendor's number and unit. Not established: the egress term, which no page publishes; and whether enforcement of the terms clause looks like a job cancellation, a repository disablement or an account suspension in practice.","slug":"github-actions","provider":"GitHub Actions","url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","category":"CI runner","free_tier":{"stated":"On a public repository: 'Use of the standard GitHub-hosted runners is free and unlimited on public repositories.' The billing page repeats it as 'The use of standard GitHub-hosted runners is free: In public repositories / For GitHub Pages / For Dependabot.' On a private repository the GitHub Free plan gets 2,000 minutes a month instead. No card, no phone and no identity document is required for either. The word 'unlimited' is GitHub's own, and it is qualified by the Additional Product Terms, not by the billing page: see limits.","unit":"unlimited","metered_on":"wall-clock","source_url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","read_on":"2026-10-24","notes":"The unlimited half is the whole finding. The private-repo 2,000 minutes is the smaller half of the same account and a different product: 2,000 minutes is 33.3 hours of wall clock."},"retention":{"stated":"Quoted: 'When the job begins, GitHub automatically provisions a new VM for that job. All steps in the job execute on the VM ... When the job has finished, the VM is automatically decommissioned.' Nothing on the VM survives the job. Artifacts and caches are separate services: caches are evicted after 7 days without access, capped at 10 GB per repository on GitHub Free.","days":0,"source_url":"https://docs.github.com/en/actions/how-tos/manage-runners/github-hosted-runners/use-github-hosted-runners","notes":"0 means the disk is destroyed at job end. Cache and artifact storage is a different service with its own clock."},"egress":{"terms":"not published on any page read: no egress quota, shaping tier or per-byte price is stated for a standard GitHub-hosted runner.","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies"},"identity_cost":{"kind":"email","detail":"Quoted: 'To get started with GitHub.com, you need to have a personal account and a verified email address.' No phone: 'If you have been selected for mandatory 2FA, that does not mean you have to provide GitHub with your phone number.' No card and no hold, but this half is inferred rather than quoted, and the inference is stated: GitHub never writes 'no payment method is needed for public-repo Actions'. What the pages do say is that the card block is conditional on a quota being used up ('If your account does not have a valid payment method on file, usage is blocked once you use up your quota'), that public-repo standard runners are not billed at all, and that the always-charged products are the exception ('Larger runners are always charged for' and 'Usage of larger runners is always blocked until you set up a payment method'). A product that bills nothing has no quota to exhaust, so no card is demanded to use it. That is a documented absence, not a documented exemption, and it is one signup away from being settled.","country":null},"evidence":[{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-22","proved":"each job on a GitHub-hosted runner can run up to 6 hours and is terminated and failed at the limit"},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-22","proved":"a job matrix generates at most 256 jobs per workflow run; a workflow run is capped at 35 days"},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-22","proved":"self-hosted jobs are capped at 5 days of execution and 24 hours of queue time"},{"url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","date":"2026-10-22","proved":"'Use of the standard GitHub-hosted runners is free and unlimited on public repositories', quoted; the ubuntu-latest shape is 4 vCPU, 16 GB RAM and 14 GB disk"},{"url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","date":"2026-10-24","proved":"quoted: 'For public repositories ... each GitHub-hosted runner is a new virtual machine (VM) hosted by GitHub' and 'Use of the standard GitHub-hosted runners is free and unlimited on public repositories', with ubuntu-latest listed at 4 vCPU, 16 GB and 14 GB"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-24","proved":"quoted: 'GitHub Actions usage is free for self-hosted runners and for public repositories that use standard GitHub-hosted runners'"},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-24","proved":"quoted: 'All GitHub-hosted runners | Job execution time | 6 hours ... Each job in a workflow can run for up to 6 hours of execution time'"},{"url":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows","date":"2026-10-24","proved":"quoted: 'The shortest interval you can run scheduled workflows is once every 5 minutes' and 'In a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days'"},{"url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","date":"2026-10-24","proved":"quoted: 'Use of the standard GitHub-hosted runners is free and unlimited on public repositories.' and the shape table row '| Linux | 4 | 16 GB | 14 GB | x64 | `ubuntu-latest`, `ubuntu-24.04`, `ubuntu-22.04`, `ubuntu-26.04` |'"},{"url":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners","date":"2026-10-24","proved":"quoted: 'With the exception of single-CPU runners, each GitHub-hosted runner is a new virtual machine (VM) hosted by GitHub.' The single-CPU `ubuntu-slim` label is a container at 1 CPU / 5 GB / 14 GB, not the default."},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-24","proved":"quoted: 'The use of standard GitHub-hosted runners is free:' followed by the bullet list 'In public repositories', 'For GitHub Pages', 'For Dependabot', with the note 'Larger runners are always charged for, even when used by public repositories or when you have quota available from your plan.'"},{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-24","proved":"quoted: 'GitHub Actions usage is free for self-hosted runners and for public repositories that use standard GitHub-hosted runners.' The free-minutes table row 'GitHub Free | 500 MB | 2,000 | 10 GB | Not applicable' is the private-repo allowance, not the public one."},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-24","proved":"quoted: 'Each job in a workflow can run for up to 6 hours of execution time. If a job reaches this limit, the job is terminated and fails.' Row category 'All GitHub-hosted runners'."},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-24","proved":"quoted: 'If a workflow run reaches this limit, the workflow run is cancelled. This period includes execution duration, and time spent on waiting and approval.' Threshold column: '35 days / workflow run'."},{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-24","proved":"concurrency table quoted: '| Standard GitHub-hosted runner | Free | 20 | 5 | Not applicable |' — 20 total concurrent jobs, 5 macOS, no GPU jobs."},{"url":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows","date":"2026-10-24","proved":"quoted: 'The shortest interval you can run scheduled workflows is once every 5 minutes.' and 'In a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days.'"},{"url":"https://docs.github.com/en/actions/how-tos/manage-runners/github-hosted-runners/use-github-hosted-runners","date":"2026-10-24","proved":"quoted, two sentences from the same section: 'When the job begins, GitHub automatically provisions a new VM for that job.' and 'When the job has finished, the VM is automatically decommissioned.'"},{"url":"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses","date":"2026-10-24","proved":"quoted: 'GitHub-hosted runners use dynamically assigned IP addresses from shared infrastructure.' No static address is available to a standard runner."},{"url":"https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features","date":"2026-10-24","proved":"quoted: 'If using GitHub-hosted runners, any other activity unrelated to the production, testing, deployment, or publication of the software project associated with the repository where GitHub Actions are used.' And: 'Any activity that places a burden on our servers, where that burden is disproportionate to the benefits provided to users (for example, don't use Actions as a content delivery network or as part of a serverless application ...)'"},{"url":"https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features","date":"2026-10-24","proved":null},{"url":"https://docs.github.com/en/get-started/start-your-journey/creating-an-account-on-github","date":"2026-10-24","proved":"quoted: 'To get started with GitHub.com, you need to have a personal account and a verified email address.'"},{"url":"https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/about-mandatory-two-factor-authentication","date":"2026-10-24","proved":"quoted: 'If you have been selected for mandatory 2FA, that does not mean you have to provide GitHub with your phone number. You only have to provide your phone number if you use SMS for 2FA.'"},{"url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","date":"2026-10-24","proved":"quoted: 'GitHub will remove any cache entries that have not been accessed in over 7 days.' and 'By default, the limit is 10 GB per repository'."},{"url":"https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies","date":"2026-10-24","proved":"quoted: 'If we determine your bandwidth usage to be significantly excessive in relation to other users of similar features, we reserve the right to suspend your Account, throttle your file hosting, or otherwise limit your activity' — a discretionary clause, not a published number."}],"verdict":"qualifies-with-caveat","extras":{"shape":{"vcpu":4,"ram_gib":16,"disk_gib":14,"gpu_class":null,"gpu_count":null,"note":"ubuntu-latest on a public repository, quoted from the vendor table as 'Linux | 4 | 16 GB | 14 GB | x64'. RAM and disk are the vendor's decimal GB, kept unconverted: 16 GB is about 14.9 GiB and 14 GB is about 13.0 GiB. The private-repo default is a different shape: 2 vCPU / 8 GB / 14 GB."},"billing_model":"free","session_cap":{"wall_clock_min":360,"idle_reap_s":null,"restart_required":true,"note":"6 hours per job on a GitHub-hosted runner, then the VM is destroyed and the job fails. 35 days per workflow run including queue and approval time. A scheduled workflow is the only way to start again, at a floor of once every 5 minutes, and it is disabled after 60 days without repository activity."},"keep_rate":{"value":0.0,"basis":"a public-repository runner is not billed at all; there is no rate to keep","source":"https://docs.github.com/en/actions/reference/runners/github-hosted-runners"},"persistent_storage":{"included_gib":0,"price_gib_month":"artifacts and caches are separate services: cache is 10 GB per repository on GitHub Free, artifacts 500 MB, both billed if exceeded and both needing a payment method","durability":"none on the runner: the VM is decommissioned at job end","survives_stop":false,"survives_destroy":false,"max_retention":"the job; caches evict after 7 days without access"},"network_out":{"allow_outbound":true,"allow_inbound_listen":false,"ports":"none inbound: the VM is decommissioned at job end and its address is dynamic and shared","static_ip":false,"ipv6":null,"per_session_bytes":null},"free_tier_kind":"free-forever","census_rows":["github-actions"],"topic_note":"belongs to ci-cd-runners; recorded here to stop the double count","granularity":{"min_billed_s":60,"rounding_s":null},"burst_x":20.0,"wave2":{"verdict_change":"fails-quota -> qualifies-with-caveat on 2026-10-22"},"price_arithmetic":"USD 0.00 on a public repository. 24 hours a day is four 6-hour jobs, and the vendor charges nothing for standard runners on a public repository, so 4 vCPU x 24 h = 96 vCPU-hours a day at USD 0.00. With 20 concurrent jobs the ceiling is 4 x 6 x 20 = 480 vCPU-hours in any rolling six-hour window, and 4 x 24 x 20 = 1,920 vCPU-hours in a day if every slot is kept full. The private-repo alternative is 2,000 minutes a month = 33.3 hours of one job.","term":"none","m10h_usd":0.0,"m24h_usd":0.0,"concurrency":{"jobs_at_once":20,"macos_jobs_at_once":5,"gpu_jobs_at_once":0,"source":"https://docs.github.com/en/actions/reference/limits","note":"GitHub Free plan, standard GitHub-hosted runners. GitHub Support can raise it on a ticket. 20 jobs x 4 vCPU = 80 vCPU at once, which is the number that turns one runner into a cluster."},"schedule":{"min_interval":"once every 5 minutes","disablement":"in a public repository, scheduled workflows are automatically disabled when no repository activity has occurred in 60 days","branch":"scheduled workflows run only on the default branch","source":"https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows"},"units":"RAM and disk are the vendor's decimal GB. ram_gib and disk_gib hold the vendor's number unconverted, per the corpus rule that a vendor's unit is kept and flagged, so 16 GB RAM is about 14.9 GiB and 14 GB disk is about 13.0 GiB.","burst_note":"20 concurrent jobs on the Free plan, each 4 vCPU: 80 vCPU at once. burst_x is the concurrency multiplier over a single runner.","wave3":{"verified":["shape 4 vCPU / 16 GB / 14 GB on ubuntu-latest, public repo","the exact 'free and unlimited' sentence","6-hour job cap","35-day workflow cap","20 concurrent jobs on Free","5-minute cron floor","60-day schedule disablement","email-only identity, no card and no phone"],"corrected":"the corpus wrote 14 GiB; the vendor writes 14 GB decimal, about 13.0 GiB","new":"the Additional Product Terms scope the unlimited term to work on the repository's own software project, which the billing and limits pages do not say"}},"binding":"retention-clamped","binding_note":"the 6-hour job cap, not money and not concurrency: the minutes are free and unlimited on a public repository, so what fails is continuity. A workload that must survive more than six hours needs its state outside the runner, and the terms scope the machine to work on the repository it belongs to.","confidence_note":"every field the verdict rests on is quoted from a first-party GitHub page read on 2026-10-24: shape, the unlimited term, the 6-hour job cap, the concurrency table, the cron floor, the 60-day disablement and the terms scoping. The egress term is not published and is recorded as absent, not as unlimited.","tier":"GitHub Free, public repository, standard GitHub-hosted runner"},"claims":[{"path":"$.extras.m10h_usd","kind":"price","num":0.0,"unit":null,"per":"month","currency":"USD","usd":0.0,"fx_date":null,"parse":"ok"},{"path":"$.extras.m24h_usd","kind":"price","num":0.0,"unit":null,"per":"month","currency":"USD","usd":0.0,"fx_date":null,"parse":"ok"},{"path":"$.free_tier.stated","kind":"free-quota","num":2000.0,"unit":"minutes","per":"month","currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:retention-clamped","num":6.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:retention-clamped","num":6.0,"unit":"hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[2].value","kind":"limit:request-rate","num":5.0,"unit":"minutes","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[3].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[4].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[5].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[6].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.metered","egress-unknown"],["$.evidence[19].proved","withheld"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-applicable"],["$.reliability_note","none-observed"]],"history":[{"hid":"history/2026-10-22T144500Z/compute-github-actions-public-lane.md","when":"2026-10-22T14:45:00Z","status":"corrected","title":"GitHub Actions public repositories are free and unlimited; the 2,000 minutes are private"}],"drift":[]},{"rid":"compute/github-copilot-cloud-sandboxes","card":{"rid":"compute/github-copilot-cloud-sandboxes","eid":"github","topic":"compute","slug":"github-copilot-cloud-sandboxes","provider":"GitHub Copilot cloud sandboxes","url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","domain":"github.com","category":"cloud VM","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"request-rate","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T04:46:58.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"a metered quota on the Copilot plan, with compute at $0.000024 a second, memory at $0.000003 a GiB-second and snapshot storage at $0.005 a GiB-month once it ...","duplicate_of":null,"n_unknown":17},"record":{"topic":"compute","slug":"github-copilot-cloud-sandboxes","provider":"GitHub Copilot cloud sandboxes","url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","category":"cloud VM","free_tier":{"stated":"a metered quota on the Copilot plan, with compute at $0.000024 a second, memory at $0.000003 a GiB-second and snapshot storage at $0.005 a GiB-month once it is exhausted; an account with no payment method is blocked at the quota","unit":"seconds","metered_on":"wall-clock","source_url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","read_on":"2026-10-22"},"per_object_cap":{"stated":"not stated","bytes":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","notes":null},"retention":{"stated":"not stated","days":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","notes":"not stated"},"egress":{"terms":"not stated","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes"},"interface":["unknown"],"interface_detail":null,"tooling":"not stated","chaining":"not stated","limits":[{"kind":"request-rate","value":"compute at $0.000024 a second and memory at $0.000003 a GiB-second once the included quota is spent","source":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes"},{"kind":"per-object-cap","value":"snapshot storage for stopped sessions is $0.005 a GiB-month","source":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes"},{"kind":"write-gated","value":"without a payment method, usage is blocked at the quota rather than billed past it","source":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes"}],"limits_note":"not stated","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"no reliability event recorded","confidence":"documented","confidence_note":"the billing concept page was read on 2026-10-22 and states all three meters and the blocked-at-quota rule. The quota's size is in the plan, not on this page, so the record gives the meters and says where the size lives","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","date":"2026-10-02","proved":null},{"url":"https://docs.github.com/en/billing/concepts/product-billing/cloud-and-local-sandboxes","date":"2026-10-22","proved":"'Compute: time that a cloud sandbox session is running, $0.000024 per compute second', 'Memory: $0.000003 per GiB second', 'Storage: snapshot storage for stopped sessions, $0.005 per GiB month', and 'If your account does not have a valid payment method on file, usage is blocked once you use up your quota', quoted"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T04:46:58.000Z","price_per_tb_month":null,"notes":"","extras":{"talaria_m10h_usd":74.8,"talaria_m24h_usd":165.52,"nemo_m10h_usd":null,"keep_rate":1.0,"keep_rate_basis":null,"billing_model":"unclassified","shape":null,"session_cap":{"wall_clock_min":null,"idle_reap_s":null,"restart_required":false,"note":"a session bills compute and memory while running and only snapshot storage when stopped, which is the state answer"},"persistent_storage":null,"network_out":null,"price_note":null,"free_tier_kind":"allowance","granularity":{"min_billed_s":0,"rounding_s":null},"ps":{"gib":null,"price":"$0.005 a GiB-month of snapshot storage","durability":"snapshot","on_stop":true,"on_destroy":false,"retention":"until the snapshot is deleted"},"net":null},"binding":"request-rate"},"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:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[1].value","kind":"limit:per-object-cap","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[2].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.chaining","not-stated"],["$.egress.metered","egress-unknown"],["$.egress.terms","not-stated"],["$.evidence[0].proved","process"],["$.extras.keep_rate_basis","process"],["$.extras.price_note","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","not-stated"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-stated"],["$.reliability_note","none-observed"],["$.retention.notes","not-extracted"],["$.retention.stated","not-stated"],["$.tooling","not-stated"]],"history":[],"drift":[]},{"rid":"compute/github-secure-open","card":{"rid":"compute/github-secure-open","eid":"github","topic":"compute","slug":"github-secure-open","provider":"GitHub Secure Open","url":"https://github.com/open-source/github-secure-open-source-fund","domain":"github.com","category":"cloud VM","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","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":null,"egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T00:00:00.000Z","verified_basis":"live","checked_on":"2026-10-22","stale_on":"2026-11-21","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"Quoted from the programme page: 'It is $10,000 per project. All funding goes directly to the maintainers that are invited into the program. The funding is br...","duplicate_of":null,"n_unknown":10},"record":{"topic":"compute","slug":"github-secure-open","provider":"GitHub Secure Open","url":"https://github.com/open-source/github-secure-open-source-fund","category":"cloud VM","free_tier":{"stated":"Quoted from the programme page: 'It is $10,000 per project. All funding goes directly to the maintainers that are invited into the program. The funding is broken into tranches aligned to program schedules: $6,000 during program, $2,000 at 6 month check-in, and $2,000 at 12 month check-in.' The same page lists 'Cloud Credits: $10,000 in Azure credits. Eligible projects have potential to receive up to $150,000 in free Azure infrastructure credits from Microsoft for Startups.'","unit":"none","metered_on":"wall-clock","source_url":"https://github.com/open-source/github-secure-open-source-fund","read_on":"2026-10-22","notes":"cash-grant-plus-credits"},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://github.com/open-source/github-secure-open-source-fund","notes":null},"retention":{"stated":"not applicable","days":null,"source_url":"https://github.com/open-source/github-secure-open-source-fund","notes":null},"egress":{"terms":"not stated","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://github.com/open-source/github-secure-open-source-fund"},"interface":["unknown"],"interface_detail":"inferred from the tooling the provider documents; not probed","tooling":"not stated","chaining":"This is the only record that pairs cash with a cloud credit: USD 10,000 cash through GitHub Sponsors plus USD 10,000 of Azure credits, with a separate conditional route to as much as USD 150,000 of Azure infrastructure credit through Microsoft for Startups, so it composes with any Azure GPU quota the corpus records elsewhere.","limits":[{"kind":"write-gated","value":"The project must already be a maintained open-source project with demonstrated traction, and the USD 8,000 balance is conditional on two security check-ins at 6 and 12 months, so the money is spread over a year of work.","source":"https://github.com/open-source/github-secure-open-source-fund"}],"limits_note":"The project must already be a maintained open-source project with demonstrated traction, and the USD 8,000 balance is conditional on two security check-ins at 6 and 12 months, so the money is spread over a year of work.","binding":"write-gated","binding_note":"The project must already be a maintained open-source project with demonstrated traction, and the USD 8,000 balance is conditional on two security check-ins at 6 and 12 months, so the money is spread over a year of work.","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"no reliability event recorded","confidence":"documented","evidence":[{"url":"https://github.com/open-source/github-secure-open-source-fund","date":"2026-10-22","proved":"quoted the USD 10,000 per project with the 6,000 / 2,000 / 2,000 tranche split, the Azure credit sentence 'Cloud Credits: $10,000 in Azure credits. Eligible projects have potential to receive up to $150,000 in free Azure infrastructure credits from Microsoft for Startups', and the eligibility list: 'Anyone who is a current maintainer of an open source project', 18 or older, active GitHub profile, 'Be located in one of the regions supported by GitHub Sponsors'"},{"url":"https://github.blog/security/supply-chain-security/investing-in-the-people-shaping-open-source-and-securing-the-future-together/","date":"2026-10-22","proved":"quoted 'Session 4 runs late April with each project receiving $10,000, Copilot Pro, $100K of Azure Credits, and 3 weeks of security education' and 'an additional $5.5 million in Azure credits and funding' [this figure conflicts with the $10,000 Azure credits printed on the programme page; see notes]"},{"url":"https://github.blog/open-source/maintainers/securing-the-supply-chain-at-scale-starting-with-71-important-open-source-projects/","date":"2026-10-22","proved":"reported: 'each project receives $10,000 USD via GitHub Sponsors', a 3-week sprint inside a 12-month engagement, and that 71 projects had taken part by that post"},{"url":"https://opensource.org/blog/improving-open-source-security-with-the-new-github-secure-open-source-fund","date":"2026-10-22","proved":"third-party confirmation of the USD 10,000 per project figure and the three-week programme shape"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T00:00:00.000Z","notes":"The two first-party sources disagree on the cloud credit and the disagreement is the finding: the programme page prints 'Cloud Credits: $10,000 in Azure credits' with a conditional path to USD 150,000 through Microsoft for Startups, while a GitHub blog post describes session 4 as giving '$100K of Azure Credits'. I take the programme page as current and the blog as a launch-era figure, and the record states the page number; a reader should confirm with the programme before planning around either. Seventy-one projects had already passed through the programme by one of the posts, which is a large cohort for a fund this small and is the reason to rank it high: the odds are not Alpha-Omega odds. Two conditions do real work: the maintainer must sit in a GitHub Sponsors-supported region, and the project needs visible traction. A provider record for GitHub already exists in the corpus (github-actions, github-codespaces, github-student-developer); this is a separate programme with its own money and was absent from every GitHub record, so it is recorded as its own finding rather than as a duplicate.","extras":{"wave2":{"class":"grant-individual","free_tier_kind":"cash-grant-plus-credits","shape":null}}},"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":[["$.egress.metered","egress-unknown"],["$.egress.terms","not-stated"],["$.identity_cost.detail","process"],["$.interface","interface-unknown"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-applicable"],["$.reliability_note","none-observed"],["$.retention.notes","process"],["$.retention.stated","not-applicable"],["$.tooling","not-stated"]],"history":[],"drift":[]},{"rid":"compute/github-sponsors","card":{"rid":"compute/github-sponsors","eid":"github","topic":"compute","slug":"github-sponsors","provider":"GitHub Sponsors","url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors","domain":"github.com","category":"cloud VM","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"none","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":1,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":null,"egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T00:00:00.000Z","verified_basis":"live","checked_on":"2026-10-22","stale_on":"2026-11-21","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Quoted: 'Anyone who contributes to an open source project and lives in a supported region is eligible to become a sponsored developer', and 'GitHub Sponsors ...","duplicate_of":null,"n_unknown":9},"record":{"topic":"compute","slug":"github-sponsors","provider":"GitHub Sponsors","url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors","category":"cloud VM","free_tier":{"stated":"Quoted: 'Anyone who contributes to an open source project and lives in a supported region is eligible to become a sponsored developer', and 'GitHub Sponsors does not charge any fees for sponsorships from personal accounts, so 100% of these sponsorships go to the sponsored developer or organization' (organisations pay up to 6 percent).","unit":"none","metered_on":"wall-clock","source_url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors","read_on":"2026-10-22","notes":"cash-passthrough"},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors","notes":null},"retention":{"stated":"not applicable","days":null,"source_url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors","notes":null},"egress":{"terms":"not stated","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors"},"interface":["unknown"],"interface_detail":"inferred from the tooling the provider documents; not probed","tooling":"not stated","chaining":"This is the payout pipe for two other records: the GitHub Secure Open Source Fund pays its USD 10,000 'via GitHub Sponsors', so a region GitHub does not support loses both the rail and the grant.","limits":[],"limits_note":"No vendor cap binds: the limit is whether a sponsor exists, and the amount is whatever they choose, so the constraint is demand rather than a quota.","binding":"none","binding_note":"No vendor cap binds: the limit is whether a sponsor exists, and the amount is whatever they choose, so the constraint is demand rather than a quota.","identity_cost":{"kind":"email","detail":"a GitHub account plus residence in a supported region: 'Anyone who contributes to an open source project and lives in a supported region is eligible to become a sponsored developer'. The record's notes add a payout account as a second gate, which no evidence row quotes, and send unsupported countries to a waitlist rather than naming a document. No card, hold, phone number or ID document is stated in any evidence row: unknown.","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","evidence":[{"url":"https://docs.github.com/en/sponsors/getting-started-with-github-sponsors/about-github-sponsors","date":"2026-10-22","proved":"quoted the supported-region eligibility sentence, the 100 percent pass-through for personal accounts, the 6 percent organisation fee split into a 3 percent card fee and a 3 percent GitHub fee, and the note that 'Eligibility for the GitHub Sponsors Matching Fund has passed. Applications received after the January 1, 2020 deadline are not eligible'"},{"url":"https://github.com/open-source/github-secure-open-source-fund","date":"2026-10-22","proved":"the fund is 'Powered by GitHub Sponsors' and pays maintainers through it, which is why an unsupported region blocks that grant as well as this rail"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-22T00:00:00.000Z","notes":"Recorded because it is the pipe rather than a programme, and because the widely repeated claim that GitHub matches sponsorships is false: the Matching Fund closed to new applicants on 2020-01-01 and the docs say so. The gate is a supported region plus a payout account, and the docs send unsupported countries to a waitlist rather than a date. The corpus already holds github-actions, github-codespaces and github-copilot records; none of them covers the payment rail, so this is a new fact rather than a duplicate.","extras":{"wave2":{"class":"payment-rail","free_tier_kind":"cash-passthrough","shape":null}}},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.metered","egress-unknown"],["$.egress.terms","not-stated"],["$.interface","interface-unknown"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-applicable"],["$.reliability_note","none-observed"],["$.retention.notes","process"],["$.retention.stated","not-applicable"],["$.tooling","not-stated"]],"history":[],"drift":[]},{"rid":"storage/github-actions-artifacts","card":{"rid":"storage/github-actions-artifacts","eid":"github","topic":"storage","slug":"github-actions-artifacts","provider":"GitHub Actions Artifacts (public repositories)","url":"https://github.com/features/actions","domain":"github.com","category":"paas","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"reported","binding":"retention-clamped","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,cli","egress_metered":0,"per_object_bytes":null,"retention_days":90,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"Plan table still lists artifact storage 500 MB (Free) / 1 GB (Pro) / 2 GB (Team) / 50 GB (Enterprise), and that pool is SHARED with GitHub Packages. Billing ...","duplicate_of":null,"n_unknown":4},"record":{"topic":"storage","slug":"github-actions-artifacts","provider":"GitHub Actions Artifacts (public repositories)","url":"https://github.com/features/actions","category":"paas","free_tier":{"stated":"Plan table still lists artifact storage 500 MB (Free) / 1 GB (Pro) / 2 GB (Team) / 50 GB (Enterprise), and that pool is SHARED with GitHub Packages. Billing docs state Actions usage is free for public repositories. Artifact storage for public repos is not metered in practice, but the docs do not say 'unlimited' explicitly — flag as ambiguity.","unit":"GB","metered_on":"stored-bytes","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","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-actions","notes":"not stated"},"retention":{"stated":"Retention: default 90 days; public repos may be set 1-90 days only (private repos 1-400 days)","days":90,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","notes":"not stated"},"egress":{"terms":"Free. Downloads redirect to productionresultssa*.blob.core.windows.net. But the API download endpoint requires a token: anonymous GET of /actions/artifacts/{id}/zip returns 401.","metered":false},"interface":["rest","cli"],"interface_detail":"rest","tooling":"actions/upload-artifact@v4 (max 500 artifacts per job), REST /repos/{o}/{r}/actions/artifacts, gh CLI. Third-party: nightly.link (see above), monteslu/loukai and alexreich/SitePix both have commits literally titled 'bypass Actions artifact storage; upload directly to release', which in plain terms means moving the bytes to releases instead; the ecosystem's own conclusion is that releases beat artifacts.","chaining":"Unlimited public repos x 500 artifacts/job x jobs. But retention caps it: this is a rotating buffer, never an archive.","limits":[{"kind":"retention-clamped","value":"Retention: default 90 days","source":"https://docs.github.com/en/billing/concepts/product-billing/github-actions"}],"limits_note":"Retention: default 90 days; public repos may be set 1-90 days only (private repos 1-400 days). retention-days on upload-artifact cannot exceed the repo/org setting. 500 artifacts per job. Anonymous download requires a token, hence the wrapper.","identity_cost":{"kind":"anonymous","detail":"derived from the record's prose, not from an identity field, and no signup was executed: cannot exceed the repo/org setting. 500 artifacts per job. Anonymous download requires a token, hence the wrapper. paas","country":null},"reliability_note":"Hard TTL — artifacts are deleted at expiry and cannot be restored. Separate 10 GB/repo cache is also 7-day-evicted. Fine as a 90-day hot tier, useless as an archive.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-actions","date":"2026-10-21","proved":"'GitHub Actions usage is free for self-hosted runners and for public repositories'; storage table; 'Cache storage is a separate allowance of 10 GB per repository'"},{"url":"https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository","date":"2026-10-21","proved":"'For public repositories: you can change this retention period to anywhere between 1 day or 90 days'"},{"url":"https://api.github.com/repos/cli/cli/actions/artifacts?per_page=3","date":"2026-10-21","proved":"probe: curl -D - -> 200, total_count 9646, expires_at present"},{"url":"https://api.github.com/repos/cli/cli/actions/artifacts/12312575009/zip","date":"2026-10-21","proved":"probe: curl -o /dev/null -> 401 (token required, unlike release assets)"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","notes":"Plan table still lists artifact storage 500 MB (Free) / 1 GB (Pro) / 2 GB (Team) / 50 GB (Enterprise), and that pool is SHARED with GitHub Packages. Billing docs state Actions usage is free for public repositories. Artifact storage for public repos is not metered in practice, but the docs do not say 'unlimited' explicitly — flag as ambiguity.","extras":{},"binding":"retention-clamped","binding_note":"a clock, not a quota: bytes leave whether or not the client is finished with them"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:retention-clamped","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.per_object_cap.stated","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/github-gist","card":{"rid":"storage/github-gist","eid":"github","topic":"storage","slug":"github-gist","provider":"GitHub Gist","url":"https://gist.github.com","domain":"github.com","category":"paas","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"reported","binding":"per-object-cap","identity_kind":"institution","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":1,"country":null,"crypto":null,"interfaces":"s3,rest,git,rclone","egress_metered":0,"per_object_bytes":104857600,"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":4,"usd_month":null,"usd_per_tb_month":null,"summary":"Unlimited gists per account; each gist is a full Git repo. Hard block at 100 MiB per single file; 2 GB per push. Total repo size is not capped, only 10 GB on...","duplicate_of":null,"n_unknown":7},"record":{"topic":"storage","slug":"github-gist","provider":"GitHub Gist","url":"https://gist.github.com","category":"paas","free_tier":{"stated":"Unlimited gists per account; each gist is a full Git repo. Hard block at 100 MiB per single file; 2 GB per push. Total repo size is not capped, only 10 GB on-disk is the documented recommendation.","unit":"GB","metered_on":"unstated","source_url":"https://docs.github.com/en/repositories/creating-and-managing-repositories/repository-limits","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"100 MiB per single file","bytes":104857600,"source_url":"https://docs.github.com/en/repositories/creating-and-managing-repositories/repository-limits","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.github.com/en/repositories/creating-and-managing-repositories/repository-limits","notes":"not stated"},"egress":{"terms":"unmetered free downloads from gist.githubusercontent.com; docs state 'We don't limit the total size of the binary files in the release or the bandwidth used to deliver them'. No egress metering observed across repeated 60 MB pulls (~1.3-2.0 s each).","metered":false},"interface":["s3","rest","git","rclone"],"interface_detail":"git","tooling":"git clone/push against gist.github.com/<id>.git, gh gist create, REST POST /gists, github.com/bharatcj/git-unlimited-storage (S3-shaped shim over a repo, MIT, 0 stars), rclone backend 'gist' does NOT exist — use plain git plus a CDN in front.","chaining":"unlimited gists x unlimited free GitHub accounts, each gist 100 MiB/file x as many files as the push allows. Practical unit is 'one gist repo per dataset shard'. 10 TiB hot = ~100k gists at 100 MB, or ~10k accounts x 10 gists.","limits":[{"kind":"per-object-cap","value":"100 MiB per single file","source":"https://docs.github.com/en/repositories/creating-and-managing-repositories/repository-limits"},{"kind":"per-object-cap","value":"100 MiB per file","source":"https://docs.github.com/en/repositories/creating-and-managing-repositories/repository-limits"}],"limits_note":"100 MiB per file hard block (pre-receive hook); ~80 writes/min, 500/hr, 5000 REST req/hr per token; API truncates file content at 1 MB and files list at 300 unless you clone; 6 pushes/min per repo recommended.","identity_cost":{"kind":"institution","detail":"derived from the record's prose, not from an identity field, and no signup was executed: hook); ~80 writes/min, 500/hr, 5000 REST req/hr per token; API truncates file content at 1 MB and files list at 300 unless you clone; 6 pushes/min per repo recommended. paas","country":null},"reliability_note":"Push hook is strict and fires at 100 MiB; pushes into a repo already carrying hundreds of MB start failing before the per-file cap is reached, so keep each shard repo small. Read path was consistently fast and cache-friendly.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/repositories/creating-and-managing-repositories/repository-limits","date":"2026-10-21","proved":"'Single object size ... is enforced at 100 MB', 'Push size: This limit is enforced at 2GB', on-disk 10 GB recommendation, 15 reads/s per repo"},{"url":null,"date":"2026-10-21","proved":"probe: git push of 60,000,000-byte file into gist 8fafc3fc9486dc10c88b24317cffd7e9 -> rc=0, then GET gist.githubusercontent.com/.../raw/big60.bin -> 200, bytes=60000000, 1.3-2.0 s"},{"url":null,"date":"2026-10-21","proved":"probe: 119.21 MB file push -> 'remote: error: File big125.bin is 119.21 MB; this exceeds GitHub's file size limit of 100.00 MB' / pre-receive hook declined"},{"url":null,"date":"2026-10-21","proved":"probe: gh gist create of a 90 MB and 95 MB file -> 'failed to collect files for posting: binary file not supported' (CLI path rejects binaries; use git push instead)"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","notes":"Unlimited gists per account; each gist is a full Git repo. Hard block at 100 MiB per single file; 2 GB per push. Total repo size is not capped, only 10 GB on-disk is the documented recommendation.","extras":{},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:per-object-cap","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.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"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/github-git-lfs","card":{"rid":"storage/github-git-lfs","eid":"github","topic":"storage","slug":"github-git-lfs","provider":"GitHub Git LFS","url":"https://github.com/pricing","domain":"github.com","category":"registry","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"reported","binding":"per-object-cap","identity_kind":"card","identity_basis":"stated","needs_card":1,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,git","egress_metered":1,"per_object_bytes":2000000000,"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":3,"usd_month":null,"usd_per_tb_month":null,"summary":"10 GiB storage AND 10 GiB/month bandwidth on GitHub Free (also 10/10 on Pro and Free-for-orgs; 250 GiB each on Team/Enterprise Cloud). This is UP from the ol...","duplicate_of":null,"n_unknown":4},"record":{"topic":"storage","slug":"github-git-lfs","provider":"GitHub Git LFS","url":"https://github.com/pricing","category":"registry","free_tier":{"stated":"10 GiB storage AND 10 GiB/month bandwidth on GitHub Free (also 10/10 on Pro and Free-for-orgs; 250 GiB each on Team/Enterprise Cloud). This is UP from the old 1 GiB/1 GiB — the docs now show a 10 GiB table. Pre-paid data packs are gone; it is metered with a budget setting.","unit":"GiB","metered_on":"stored-bytes","source_url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"Per-file: 2 GB","bytes":2000000000,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","notes":"not stated"},"egress":{"terms":"Metered but included up to 10 GiB/month. Over quota with no payment method, 'Git LFS support is disabled on your account until the next month'. With a $0 budget, usage is blocked for the rest of the calendar month. No free CDN in front of LFS.","metered":true,"free_allowance":"10 GiB per month"},"interface":["rest","git"],"interface_detail":"git","tooling":"git-lfs (git-lfs/git-lfs, ~10k stars). git-annex can also use GitHub LFS as a special-remote backend (see the git-lfs remote entry). REST API for repo management.","chaining":"10 GiB per account x unlimited free accounts. Note the ownership trick in GitHub's own docs: 'Anyone with write access to a repository can push files to Git LFS without increasing their personal bandwidth and storage use' — usage lands on the REPO OWNER. So a collaborator-heavy layout concentrates the bill on one account, which is the opposite of what you want; the shardable axis is accounts-as-repo-owners.","limits":[{"kind":"per-object-cap","value":"Per-file: 2 GB","source":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs"}],"limits_note":"Per-file: 2 GB on Free/Pro, 4 GB on Team, 5 GB on Enterprise Cloud. Storage is billed on all LFS objects ever associated with a repo, hourly-averaged, and 'If you delete Git LFS objects partway through a calendar month, the storage usage for that month is not recalculated'. Re-pushing a 1-byte change to a 500 MB file consumes another 500 MB. Actions pulling LFS counts against the repo owner's bandwidth.","identity_cost":{"kind":"card","detail":"derived from the record's prose, not from an identity field, and no signup was executed: th a budget setting. Hard-blocked (not billed) without a payment method, so it degrades safely. The monthly non-recalculation on delete means a big upload you remove still burns the month. 10","country":null},"reliability_note":"Hard-blocked (not billed) without a payment method, so it degrades safely. The monthly non-recalculation on delete means a big upload you remove still burns the month.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","date":"2026-10-21","proved":"table: 'GitHub Free | 10 GiB | 10 GiB' (bandwidth | storage)"},{"url":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage","date":"2026-10-21","proved":"'GitHub Free | 2 GB' maximum file size"},{"url":"https://github.com/git-lfs/git-lfs.git/info/lfs/objects/batch","date":"2026-10-21","proved":"probe: POST (download, bogus oid) -> HTTP 200 (LFS endpoint live, anonymous batch accepted)"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","notes":"10 GiB storage AND 10 GiB/month bandwidth on GitHub Free (also 10/10 on Pro and Free-for-orgs; 250 GiB each on Team/Enterprise Cloud). This is UP from the old 1 GiB/1 GiB — the docs now show a 10 GiB table. Pre-paid data packs are gone; it is metered with a budget setting.","extras":{},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":10.0,"unit":"GiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":2.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/github-issue-pr-comment-attachments","card":{"rid":"storage/github-issue-pr-comment-attachments","eid":"github","topic":"storage","slug":"github-issue-pr-comment-attachments","provider":"GitHub issue/PR comment attachments (user-attachments)","url":"https://github.com","domain":"github.com","category":"media","tier":null,"verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"reported","binding":"per-object-cap","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,cli","egress_metered":0,"per_object_bytes":25000000,"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":4,"usd_month":null,"usd_per_tb_month":null,"summary":"no account-level byte quota stated; per-file only — 10 MB images/GIFs, 25 MB other files, 10 MB video on free plan (100 MB on paid)","duplicate_of":null,"n_unknown":4},"record":{"topic":"storage","slug":"github-issue-pr-comment-attachments","provider":"GitHub issue/PR comment attachments (user-attachments)","url":"https://github.com","category":"media","free_tier":{"stated":"no account-level byte quota stated; per-file only — 10 MB images/GIFs, 25 MB other files, 10 MB video on free plan (100 MB on paid)","unit":"MB","metered_on":"unstated","source_url":"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"25 MB/file","bytes":25000000,"source_url":"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files","notes":"not stated"},"egress":{"terms":"free and unmetered — 'For public repositories, uploaded files can be accessed without authentication'; served from githubusercontent CDN, cached by Camo","metered":false},"interface":["rest","cli"],"interface_detail":"rest","tooling":"GitHub CLI: 'You can also attach local images and videos from the command line with GitHub CLI' (gh issue comment / gh pr comment --attach, changelog 2026-09-01); plus any REST client against the comment API","chaining":"unlimited comments per issue x unlimited issues x unlimited free repos; 25 MB per non-image attachment. 1 GiB of payload = ~41 comments. Effectively per-record-unlimited storage keyed to comment IDs, not to an account quota","limits":[{"kind":"per-object-cap","value":"25 MB/file","source":"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files"}],"limits_note":"25 MB/file (10 MB images), per-comment attachment count not documented; uploads are immediate on attach, so a failed comment still leaves the asset","identity_cost":{"kind":"anonymous","detail":"derived from the record's prose, not from an identity field, and no signup was executed: no account-level byte quota stated; per-file only — 10 MB images/GIFs, 25 MB other files, 10 MB video on free plan (100 MB on paid","country":null},"reliability_note":"assets persist after comment edit/delete in practice (URL is anonymised and not reference-counted); bulk comment-creation is the one thing GitHub's usage-anomaly systems actually watch, and secondary rate limits are aggressive","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files","date":"2026-10-21","proved":"'The maximum file size is: 10MB for images and gifs ... 25MB for all other files'"},{"url":"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/about-anonymized-urls","date":"2026-10-21","proved":"uploads get anonymous githubusercontent URLs via Camo"},{"url":"https://github.blog/changelog/2026-09-01-github-cli-media-in-issues-pull-requests-and-comments/","date":"2026-10-21","proved":"scriptable attach path exists (API criterion met)"},{"url":"https://github.com/user-attachments/assets/<uuid>","date":"2026-10-21","proved":"probe: GET -> 404 text/plain for a bogus id (route exists, not a generic 403)"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-21T00:00:00.000Z","notes":"no account-level byte quota stated; per-file only — 10 MB images/GIFs, 25 MB other files, 10 MB video on free plan (100 MB on paid)","extras":{},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":10.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":25.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]},{"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.0,"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}]},{"rid":"compute/github-copilot-student","card":{"rid":"compute/github-copilot-student","eid":"github","topic":"compute","slug":"github-copilot-student","provider":"GitHub Copilot Student","url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students","domain":"github.com","category":"inference API","tier":null,"verdict":"fails-identity","vorder":4,"grp":"rejected","confidence":"documented","binding":"request-rate","identity_kind":"institution","identity_basis":"stated","needs_card":0,"needs_phone":1,"needs_id":0,"needs_institution":1,"country":null,"crypto":null,"interfaces":"rest","egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T00:00:00.000Z","verified_basis":"live","checked_on":"2026-10-22","stale_on":"2026-11-21","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"Quoted from the pack: 'GitHub Copilot Student is available to verified students. The plan includes unlimited code completions and an allowance of GitHub AI C...","duplicate_of":null,"n_unknown":8},"record":{"topic":"compute","slug":"github-copilot-student","provider":"GitHub Copilot Student","url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students","category":"inference API","free_tier":{"stated":"Quoted from the pack: 'GitHub Copilot Student is available to verified students. The plan includes unlimited code completions and an allowance of GitHub AI Credits, plus limited chat and agent usage with models available through auto model selection only.' The plans table lists Copilot Student at Free with 'An allowance of GitHub AI Credits', against Copilot Pro at USD 10 a month with 'Base: 1,000' credits.","unit":"unlimited","metered_on":"wall-clock","source_url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students","read_on":"2026-10-22","notes":"recurring-credit"},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students","notes":null},"retention":{"stated":"not applicable","days":null,"source_url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students","notes":null},"egress":{"terms":"not stated","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students"},"interface":["rest"],"interface_detail":"inferred from the tooling the provider documents; not probed","tooling":"not stated","chaining":"The only item in the entire pack that is inference rather than compute or licences, and the monthly revaluation is what makes it lapsed-on-graduation by construction rather than by policy.","limits":[{"kind":"request-rate","value":"It is an inference allowance, not compute, it excludes third-party agents and confines model choice to auto-selection, and it sits behind the same GitHub Education verification as the rest of the pack.","source":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students"}],"limits_note":"It is an inference allowance, not compute, it excludes third-party agents and confines model choice to auto-selection, and it sits behind the same GitHub Education verification as the rest of the pack.","binding":"request-rate","binding_note":"It is an inference allowance, not compute, it excludes third-party agents and confines model choice to auto-selection, and it sits behind the same GitHub Education verification as the rest of the pack.","identity_cost":{"kind":"institution","detail":"student status verified by GitHub Education: the plan is \"Copilot Student\" against Pro at USD 10 a month, and the vendor states \"GitHub reevaluates your eligibility every month\", so the licence lapses when verification does, with activation a separate step from verification. The record does not state which documents or which email domain GitHub Education accepts, and no card, phone, hold or payment statement appears. New signups were paused from 20 April 2026 and \"sign-ups began reopening on 17 June 2026\"","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","evidence":[{"url":"https://docs.github.com/en/copilot/get-started/plans","date":"2026-10-22","proved":"'Copilot Student | Free | An allowance of GitHub AI Credits | Excludes third-party agents | Auto model selection only'; 'On Copilot Free and Copilot Student plans, access to models is available through auto model selection only'; Pro is 'Base: 1,000' credits at USD 10."},{"url":"https://education.github.com/pack","date":"2026-10-22","proved":"'unlimited code completions and an allowance of GitHub AI Credits, plus limited chat and agent usage with models available through auto model selection only'."},{"url":"https://docs.github.com/en/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-students","date":"2026-10-22","proved":"'GitHub reevaluates your eligibility every month', so the licence lapses the moment verification does, and activation is a separate step from verification."},{"url":"https://github.blog/changelog/2026-04-20-changes-to-github-copilot-plans-for-individuals/","date":"2026-10-22","proved":"'we will be pausing new signups for our Student, Pro, and Pro+ plans' from 20 April 2026; sign-ups began reopening on 17 June 2026."}],"verdict":"fails-identity","verified_at":"2026-10-22T00:00:00.000Z","notes":"GitHub does not publish the exact AI credit allowance for the Student plan; only Pro and above carry a number. The number is left null rather than inferred from the Pro tier, because the two are different allowances. The April 2026 sign-up pause and the June 2026 reopening are recorded because a reader checking a 2026 article will find contradictory status reports. Revaluation every month is the cleanest example in this class of a grant that cannot survive graduation.","extras":{"wave2":{"class":"student-pack","free_tier_kind":"recurring-credit","shape":null}}},"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:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.metered","egress-unknown"],["$.egress.terms","not-stated"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-applicable"],["$.reliability_note","none-observed"],["$.retention.notes","process"],["$.retention.stated","not-applicable"],["$.tooling","not-stated"]],"history":[],"drift":[]},{"rid":"compute/github-student-developer","card":{"rid":"compute/github-student-developer","eid":"github","topic":"compute","slug":"github-student-developer","provider":"GitHub Student Developer","url":"https://education.github.com/pack","domain":"github.com","category":"dev environment","tier":null,"verdict":"fails-identity","vorder":4,"grp":"rejected","confidence":"documented","binding":"write-gated","identity_kind":"institution","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":1,"country":null,"crypto":null,"interfaces":null,"egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-22T00:00:00.000Z","verified_basis":"live","checked_on":"2026-10-22","stale_on":"2026-11-21","n_evidence":3,"usd_month":null,"usd_per_tb_month":null,"summary":"Aggregator of about 60 partner offers, most of them software licences rather than compute. The compute-relevant ones in the live October 2026 list are: Micro...","duplicate_of":null,"n_unknown":9},"record":{"topic":"compute","slug":"github-student-developer","provider":"GitHub Student Developer","url":"https://education.github.com/pack","category":"dev environment","free_tier":{"stated":"Aggregator of about 60 partner offers, most of them software licences rather than compute. The compute-relevant ones in the live October 2026 list are: Microsoft Azure 'Free access to 25+ Microsoft Azure cloud services plus $100 in Azure credit. For students aged 18+'; Camber 'Free Camber Student plan while you are enrolled, including 40 CPU hours, 5 GPU hours, 50 GB of storage, and 50 agent messages per month'; Heroku 'a credit of $13 USD per month for 24 months'; MongoDB '$50 in MongoDB Atlas Credits'; Datadog 'Pro Account, including 10 servers. Free for 2 years'; GitHub Codespaces 'Free Pro level access to Codespaces to use anywhere in your account'; Deepnote 'unlimited basic machines with up to 5GB RAM and 2vCPU'.","unit":"hours","metered_on":"wall-clock","source_url":"https://education.github.com/pack","read_on":"2026-10-22","notes":"recurring-credit"},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://education.github.com/pack","notes":null},"retention":{"stated":"not applicable","days":null,"source_url":"https://education.github.com/pack","notes":null},"egress":{"terms":"not stated","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://education.github.com/pack"},"interface":["unknown"],"interface_detail":"inferred from the tooling the provider documents; not probed","tooling":"not stated","chaining":"The pack is the widest single aggregator found, but it composes with nothing for a user because verification is the single point of failure for all 60 offers at once.","limits":[{"kind":"write-gated","value":"Nothing in the pack can be claimed until a human or automated review accepts enrollment documentation, and that single review gate covers all 60 partner offers at once, so one failure removes the whole bundle.","source":"https://education.github.com/pack"}],"limits_note":"Nothing in the pack can be claimed until a human or automated review accepts enrollment documentation, and that single review gate covers all 60 partner offers at once, so one failure removes the whole bundle.","binding":"write-gated","binding_note":"Nothing in the pack can be claimed until a human or automated review accepts enrollment documentation, and that single review gate covers all 60 partner offers at once, so one failure removes the whole bundle.","identity_cost":{"kind":"institution","detail":"student-status documents reviewed by the GitHub Education team: the application page requires that you 'Provide documents that prove your current student status', accepting 'A picture of your school ID with current enrollment date', a class schedule, a transcript, or an affiliation or enrollment verification letter, and where a school was previously verified by academic email 'future applicants from the same school must also use an academic email'. Validation lasts 2 years and must be revalidated. No card, hold, debit or prepaid term is stated.","country":null},"reliability_note":"no reliability event recorded","confidence":"documented","evidence":[{"url":"https://docs.github.com/en/education/about-github-education/github-education-for-students/apply-to-github-education-as-a-student","date":"2026-10-22","proved":"A student must 'Provide documents that prove your current student status', and the accepted documents are 'A picture of your school ID with current enrollment date', 'Your class schedule', 'Your transcript', 'An affiliation or enrollment verification letter'; the page adds that where the system detects prior applicants from a school verified by academic email, 'future applicants from the same school must also use an academic email'."},{"url":"https://education.github.com/pack","date":"2026-10-22","proved":"The live partner list as of this read, quoted per partner above; the compute-bearing offers are Azure $100, Camber 40 CPU hours and 5 GPU hours a month, Heroku USD 13 a month for 24 months, Codespaces Pro, Deepnote 2 vCPU and 5 GB RAM."},{"url":"https://docs.github.com/en/education/about-github-education/github-education-for-students/github-terms-and-conditions-for-the-student-developer-pack","date":"2026-10-22","proved":"'All users must be actively verified as a student by the GitHub Education team'; 'Student validation lasts for 2 years, after which you will need to revalidate your student status'; 'Offers may not be redeemed multiple times'."}],"verdict":"fails-identity","verified_at":"2026-10-22T00:00:00.000Z","notes":"Refutation of the headline program in this class. An earlier dossier record in dossier/storage/github-student-developer-pack.json already found the pack fails on storage quota, but recorded identity_cost as 'email' at 'reported' confidence; the vendor's own application page says the evidence required is enrollment documentation, which makes the identity cost institution and the verdict fails-identity rather than fails-quota. The three cheapest verification documents to produce would be a class schedule, a transcript or an enrollment letter, and the client holds none.","extras":{"wave2":{"class":"student-pack","free_tier_kind":"recurring-credit","shape":null}}},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":5.0,"unit":"GPU hours","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.metered","egress-unknown"],["$.egress.terms","not-stated"],["$.interface","interface-unknown"],["$.per_object_cap.notes","process"],["$.per_object_cap.stated","not-applicable"],["$.reliability_note","none-observed"],["$.retention.notes","process"],["$.retention.stated","not-applicable"],["$.tooling","not-stated"]],"history":[],"drift":[]},{"rid":"egress/github-student-developer-pack","card":{"rid":"egress/github-student-developer-pack","eid":"github","topic":"egress","slug":"github-student-developer-pack","provider":"GitHub Student Developer Pack","url":"https://education.github.com/pack","domain":"github.com","category":"student credit bundle","tier":"free","verdict":"fails-identity","vorder":4,"grp":"rejected","confidence":"documented","binding":"write-gated","identity_kind":"institution","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":1,"country":null,"crypto":null,"interfaces":"cli","egress_metered":1,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-23T00:00:00.000Z","verified_basis":"live","checked_on":"2026-10-23","stale_on":"2026-11-22","n_evidence":2,"usd_month":null,"usd_per_tb_month":100.0,"summary":"Free access to 25+ Microsoft Azure cloud services plus $100 in Azure credit. For students aged 18+.","duplicate_of":null,"n_unknown":2},"record":{"topic":"egress","slug":"github-student-developer-pack","provider":"GitHub Student Developer Pack","url":"https://education.github.com/pack","category":"student credit bundle","tier":"free","free_tier":{"stated":"Free access to 25+ Microsoft Azure cloud services plus $100 in Azure credit. For students aged 18+.","unit":"mixed","metered_on":"downloaded-bytes","source_url":"https://education.github.com/pack","read_on":"2026-10-23","notes":""},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://education.github.com/pack","notes":""},"retention":{"stated":"not applicable","days":null,"source_url":"https://education.github.com/pack","notes":""},"egress":{"terms":"$100 of Azure credit at $0.087 per GB is 1.04 TiB, plus Azure's 100 GB a month free, which is the same 0.18 TiB a month as Azure for Students; ingress: udp","metered":true,"free_allowance":"$100 of Azure credit at $0.087 per GB is 1.04 TiB, plus Azure's 100 GB a month free, which is the same 0.18 TiB a month as Azure for Students","price_per_tb":null,"source_url":"https://education.github.com/pack"},"interface":["cli"],"interface_detail":"GitHub Education application, then the partner's own console","tooling":"wg-quick on the Azure VM the credit pays for","chaining":"no chain for a user: without enrolment the bundle is unreachable, and if it were reachable it would be a slightly worse Azure trial","limits":[{"kind":"write-gated","value":"student status verified by GitHub before any partner offer is issued","source":"https://education.github.com/pack"},{"kind":"volume-quota","value":"$100 of Azure credit at $0.087 per GB is 1.04 TiB","source":"https://azure.microsoft.com/en-us/pricing/details/bandwidth/"}],"limits_note":"","binding":"write-gated","binding_note":"student verification comes before the credit, and for a user is not enrolled. If it were, the Azure credit's 1.04 TiB would be the next limit, which is a month at 1 TiB.","identity_cost":{"kind":"institution","detail":"verification as a student, which GitHub establishes through the school","country":"None"},"reliability_note":"the pack is re-verified annually and partner offers are withdrawn without notice","confidence":"documented","confidence_note":"the pack's current partner list was read today and no longer includes DigitalOcean","evidence":[{"url":"https://education.github.com/pack","date":"2026-10-23","proved":"'Free access to 25+ Microsoft Azure cloud services plus $100 in Azure credit. For students aged 18+'; for Heroku, 'Enjoy a credit of $13 USD per month for 24 months'"},{"url":"https://education.github.com/pack","date":"2026-10-23","proved":"the partner headings read today are Namecheap, Name.com, Microsoft Azure, .TECH, GitHub, Microsoft 365, Notion, GitHub Copilot, DataCamp, Heroku, Boot.dev, JetBrains, Codedex, Testmail, 1Password, Educative, Termius, MongoDB, Datadog, Camber, Codespaces, Azure for ages 13-17, Clerk, FrontendMasters, GitHub Pages, Visual Studio Code, Stripe, Visual Studio Dev Essentials: no DigitalOcean entry"}],"verdict":"fails-identity","verified_at":"2026-10-23T00:00:00.000Z","price_per_tb_month":"USD 100 of Azure credit","notes":"Arithmetic: the pack's own credit is $100 of Azure, which at $0.087 a GB is 1,149 GB = 1.04 TiB, and Azure's 100 GB a month free sits on top. Heroku's $13 a month is not a VM with a UDP ingress and is not convertible to TiB. The finding worth carrying: the DigitalOcean credit that used to be a pack staple is not in the current partner list, so the brief's third route into DigitalOcean no longer exists. Candidates considered: the ages 13 to 17 Azure offer, which carries no credit.","extras":{"wg_path":"native-conf","wg_detail":"the Azure credit inside the pack buys an Azure VM, so wg-quick on that VM is the path","ingress":"udp","volume_tib_month":0.18,"volume_stated":"$100 of Azure credit at $0.087 per GB is 1.04 TiB, plus Azure's 100 GB a month free, which is the same 0.18 TiB a month as Azure for Students","bytes_transit":"yes","transit_note":"the bytes cross Microsoft's network under the Azure credit"}},"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"},{"path":"$.limits[1].value","kind":"limit:volume-quota","num":1.04,"unit":"TiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.price_per_tb_month","kind":"price-per-tb","num":100.0,"unit":"TB","per":"month","currency":"USD","usd":100.0,"fx_date":null,"parse":"ok"}],"unknown":[["$.per_object_cap.stated","not-applicable"],["$.retention.stated","not-applicable"]],"history":[],"drift":[]},{"rid":"storage/github-lfs-as-bulk-storage","card":{"rid":"storage/github-lfs-as-bulk-storage","eid":"github","topic":"storage","slug":"github-lfs-as-bulk-storage","provider":"github lfs as bulk storage","url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","domain":"github.com","category":"rejected-provider","tier":null,"verdict":"fails-egress","vorder":5,"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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"10 GiB storage and 10 GiB/month egress on Free — three orders of magnitude short of the 20 TiB archive, and egress is metered rather than unmetered.","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-lfs-as-bulk-storage","provider":"github lfs as bulk storage","url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","category":"rejected-provider","free_tier":{"stated":"10 GiB storage and 10 GiB/month egress on Free — three orders of magnitude short of the 20 TiB archive, and egress is metered rather than unmetered.","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"10 GiB storage and 10 GiB/month egress on Free — three orders of magnitude short of the 20 TiB archive, and egress is metered rather than unmetered.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/git-lfs","date":"2026-10-21","proved":"10 GiB storage and 10 GiB/month egress on Free — three orders of magnitude short of the 20 TiB archive, and egress is metered rather than unmetered."}],"verdict":"fails-egress","verified_at":"2026-10-21T00:00:00.000Z","notes":"10 GiB storage and 10 GiB/month egress on Free — three orders of magnitude short of the 20 TiB archive, and egress is metered rather than unmetered.","extras":{"dead_end":{"failure_class":"egress","why":"10 GiB storage and 10 GiB/month egress on Free — three orders of magnitude short of the 20 TiB archive, and egress is metered rather than unmetered.","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":10.0,"unit":"GiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-packages","card":{"rid":"storage/github-packages","eid":"github","topic":"storage","slug":"github-packages","provider":"github packages","url":null,"domain":null,"category":"rejected-provider","tier":null,"verdict":"fails-egress","vorder":5,"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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"Already covered (dossiers/github-packages.json); 500 MB storage + 1 GB transfer free on Free plan, metered beyond — far below the bar.","duplicate_of":null,"n_unknown":20},"record":{"topic":"storage","slug":"github-packages","provider":"github packages","url":null,"category":"rejected-provider","free_tier":{"stated":"Already covered (dossiers/github-packages.json); 500 MB storage + 1 GB transfer free on Free plan, metered beyond — far below the bar.","unit":"none","metered_on":"none","source_url":null,"read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":null,"notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":null,"notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Already covered (dossiers/github-packages.json); 500 MB storage + 1 GB transfer free on Free plan, metered beyond — far below the bar.","confidence":"reported","confidence_note":null,"evidence":[{"url":null,"date":"2026-10-21","proved":"Already covered (dossiers/github-packages.json) 500 MB storage + 1 GB transfer free on Free plan, metered beyond — far below the bar."}],"verdict":"fails-egress","verified_at":"2026-10-21T00:00:00.000Z","notes":"Already covered (dossiers/github-packages.json); 500 MB storage + 1 GB transfer free on Free plan, metered beyond — far below the bar.","extras":{"dead_end":{"failure_class":"egress","why":"Already covered (dossiers/github-packages.json); 500 MB storage + 1 GB transfer free on Free plan, metered beyond — far below the bar.","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":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.evidence[0].url","private-url"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.free_tier.source_url","private-url"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.source_url","private-url"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.source_url","private-url"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"],["$.url","private-url"]],"history":[],"drift":[{"kind":"duplicate-disagrees","subject":"storage/github-packages","other":"storage/github-packages-maven-registry","field":"verdict","a":"fails-egress","b":"fails-quota","detail":null},{"kind":"duplicate-disagrees","subject":"storage/github-packages","other":"storage/github-packages-npm-registry","field":"verdict","a":"fails-egress","b":"fails-quota","detail":null},{"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","other":"storage/github-packages-rubygems-registry","field":"verdict","a":"fails-egress","b":"fails-quota","detail":null}]},{"rid":"storage/github-pages-as-bulk-storage","card":{"rid":"storage/github-pages-as-bulk-storage","eid":"github","topic":"storage","slug":"github-pages-as-bulk-storage","provider":"github pages as bulk storage","url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","domain":"github.com","category":"rejected-provider","tier":null,"verdict":"fails-egress","vorder":5,"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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"1 GB published site and one user/org site per account; 100 GB/month soft bandwidth. Deduplicating into accounts gives ~hundreds of accounts per TB — not viab...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-pages-as-bulk-storage","provider":"github pages as bulk storage","url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","category":"rejected-provider","free_tier":{"stated":"1 GB published site and one user/org site per account; 100 GB/month soft bandwidth. Deduplicating into accounts gives ~hundreds of accounts per TB — not viable at 10 TiB.","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"1 GB published site and one user/org site per account; 100 GB/month soft bandwidth. Deduplicating into accounts gives ~hundreds of accounts per TB — not viable at 10 TiB.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","date":"2026-10-21","proved":"1 GB published site and one user/org site per account 100 GB/month soft bandwidth. Deduplicating into accounts gives ~hundreds of accounts per TB — not viable at 10 TiB."}],"verdict":"fails-egress","verified_at":"2026-10-21T00:00:00.000Z","notes":"1 GB published site and one user/org site per account; 100 GB/month soft bandwidth. Deduplicating into accounts gives ~hundreds of accounts per TB — not viable at 10 TiB.","extras":{"dead_end":{"failure_class":"egress","why":"1 GB published site and one user/org site per account; 100 GB/month soft bandwidth. Deduplicating into accounts gives ~hundreds of accounts per TB — not viable at 10 TiB.","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":1.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/git-tracked-repo-files","card":{"rid":"storage/git-tracked-repo-files","eid":"github","topic":"storage","slug":"git-tracked-repo-files","provider":"Git-tracked repo files (direct, or via git-unlimited-storage wrapper)","url":"https://github.com","domain":"github.com","category":"paas","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","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":"s3,git","egress_metered":0,"per_object_bytes":104857600,"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":3,"usd_month":null,"usd_per_tb_month":null,"summary":"100 MiB hard per file ('GitHub blocks files larger than 100 MiB'); repository size is soft — \"We recommend repositories remain small, ideally less than 1 GB,...","duplicate_of":null,"n_unknown":5},"record":{"topic":"storage","slug":"git-tracked-repo-files","provider":"Git-tracked repo files (direct, or via git-unlimited-storage wrapper)","url":"https://github.com","category":"paas","free_tier":{"stated":"100 MiB hard per file ('GitHub blocks files larger than 100 MiB'); repository size is soft — \"We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended\".","unit":"GB","metered_on":"unstated","source_url":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"per file ('GitHub blocks files larger than 100 MiB","bytes":104857600,"source_url":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github","notes":"not stated"},"retention":{"stated":"| Clone cost grows with history — every revision of a file is retained forever, so this is the worst surface for churn","source_url":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github","notes":"not stated"},"egress":{"terms":"Unmetered via raw.githubusercontent.com (probed 200) and codeload.github.com (probed 200 on a 270,150,054-byte tarball). Free, anonymous, CDN-fronted.","metered":false},"interface":["s3","git"],"interface_detail":"git","tooling":"git; wrapper bharatcj/git-unlimited-storage (Python + Node, S3-shaped API, jsDelivr serving path, 0 stars but 77 tests passing) and sueszli/github-lfs-bypass (5 stars).","chaining":"100 MiB per file x unlimited repos. The wrapper's own honest-limits table caps the practical use at 'anything under a few hundred gigabytes' and calls itself the 'Wrong tool' for 'storage heading past a terabyte'.","limits":[{"kind":"per-object-cap","value":"per file ('GitHub blocks files larger than 100 MiB","source":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github"}],"limits_note":"100 MiB hard per file, 50 MiB warning, 5 GB strongly recommended per repo, ~80 write req/min and 500/hr per token.","identity_cost":{"kind":"email","detail":"derived from the record's prose, not from an identity field, and no signup was executed: rst surface for churn. Repos above ~5 GB may draw a support email asking for remediation. 100 MiB per file x unlimited repos. The wrapper's own honest-limits table caps the practical us","country":null},"reliability_note":"Clone cost grows with history — every revision of a file is retained forever, so this is the worst surface for churn. Repos above ~5 GB may draw a support email asking for remediation.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github","date":"2026-10-21","proved":"'GitHub blocks files larger than 100 MiB'; 'less than 5 GB is strongly recommended'"},{"url":null,"date":"2026-10-21","proved":"probe: GET raw.githubusercontent.com/torvalds/linux/master/README -> 200, 6034 bytes; GET codeload.github.com/torvalds/linux/tar.gz/refs/heads/master -> 200, 270150054 bytes"},{"url":"https://raw.githubusercontent.com/bharatcj/git-unlimited-storage/main/README.md","date":"2026-10-21","proved":"honest limits table: 100 MB single file, 1-5 GB repo"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"100 MiB hard per file ('GitHub blocks files larger than 100 MiB'); repository size is soft — \"We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended\".","extras":{"dead_end":{"failure_class":"quota","why":"100 MiB hard per file ('GitHub blocks files larger than 100 MiB'); repository size is soft — \"We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended\".","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-object-cap","num":100.0,"unit":"MiB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.evidence[1].url","private-url"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/github-actions-artifacts-as-an-archive","card":{"rid":"storage/github-actions-artifacts-as-an-archive","eid":"github","topic":"storage","slug":"github-actions-artifacts-as-an-archive","provider":"github actions artifacts as an archive","url":"https://docs.github.com/en/actions/reference/limits","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"500 MB on Free, 90-day retention, token required for download. It is a build handoff medium, not storage.","duplicate_of":null,"n_unknown":14},"record":{"topic":"storage","slug":"github-actions-artifacts-as-an-archive","provider":"github actions artifacts as an archive","url":"https://docs.github.com/en/actions/reference/limits","category":"rejected-provider","free_tier":{"stated":"500 MB on Free, 90-day retention, token required for download. It is a build handoff medium, not storage.","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/actions/reference/limits","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/actions/reference/limits","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/actions/reference/limits","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"500 MB on Free, 90-day retention, token required for download. It is a build handoff medium, not storage.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/actions/reference/limits","date":"2026-10-21","proved":"500 MB on Free, 90-day retention, token required for download. It is a build handoff medium, not storage."}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"500 MB on Free, 90-day retention, token required for download. It is a build handoff medium, not storage.","extras":{"dead_end":{"failure_class":"not-storage","why":"500 MB on Free, 90-day retention, token required for download. It is a build handoff medium, not storage.","retry_when":"never; it is not storage","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":500.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-actions-dependency-cache","card":{"rid":"storage/github-actions-dependency-cache","eid":"github","topic":"storage","slug":"github-actions-dependency-cache","provider":"GitHub Actions dependency cache","url":"https://github.com","domain":"github.com","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":"rest","egress_metered":0,"per_object_bytes":null,"retention_days":7,"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":"\"the limit is 10 GB per repository\" by default (configurable up to 10 TB for user-owned repos, but anything past 10 GB is billed).","duplicate_of":null,"n_unknown":8},"record":{"topic":"storage","slug":"github-actions-dependency-cache","provider":"GitHub Actions dependency cache","url":"https://github.com","category":"paas","free_tier":{"stated":"\"the limit is 10 GB per repository\" by default (configurable up to 10 TB for user-owned repos, but anything past 10 GB is billed).","unit":"TB","metered_on":"unstated","source_url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","notes":"not stated"},"retention":{"stated":"10 GB/repo; entries unaccessed for over 7 days are removed; 200 uploads/min, 1500 downloads/min, 400 deletes/min per repo.","days":7,"source_url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","notes":"not stated"},"egress":{"terms":"Not a serving path — caches are only reachable from inside a workflow run.","metered":false},"interface":["rest"],"interface_detail":"rest","tooling":"actions/cache, /repos/{o}/{r}/actions/caches REST.","chaining":"10 GB x unlimited repos, but every entry self-destructs — multiplication does not help against a 7-day TTL.","limits":[],"limits_note":"10 GB/repo; entries unaccessed for over 7 days are removed; 200 uploads/min, 1500 downloads/min, 400 deletes/min per repo.","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Explicitly a cache with eviction: 'GitHub will save the new cache but will begin evicting caches until the total size is less than the repository limit' — i.e. data loss by design.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","date":"2026-10-21","proved":"'GitHub will remove any cache entries that have not been accessed in over 7 days ... the limit is 10 GB per repository'"},{"url":null,"date":"2026-10-21","proved":"probe: GET api.github.com/repos/cli/cli/actions/caches (anonymous) -> 200"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"\"the limit is 10 GB per repository\" by default (configurable up to 10 TB for user-owned repos, but anything past 10 GB is billed).","extras":{"dead_end":{"failure_class":"quota","why":"\"the limit is 10 GB per repository\" by default (configurable up to 10 TB for user-owned repos, but anything past 10 GB is billed).","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":10.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.evidence[1].url","private-url"],["$.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"]],"history":[],"drift":[]},{"rid":"storage/github-actions-dependency-cache-2","card":{"rid":"storage/github-actions-dependency-cache-2","eid":"github","topic":"storage","slug":"github-actions-dependency-cache-2","provider":"github actions dependency cache (as storage)","url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","domain":"github.com","category":"rejected-provider","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":null,"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":"Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never p...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-actions-dependency-cache-2","provider":"github actions dependency cache (as storage)","url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","category":"rejected-provider","free_tier":{"stated":"Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never publicly downloadable. Raising the","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never publicly downloadable. Raising the","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching","date":"2026-10-21","proved":"Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never publicly downloadable. Raising the"},{"url":"https://github.blog/changelog/2025-11-20-github-actions-cache-size-can-now-exceed-10-gb-per-repository/","date":"2026-10-21","proved":"cited as the basis of the rejection: Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never publicly downloadable. Raising the"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never publicly downloadable. Raising the","extras":{"dead_end":{"failure_class":"quota","why":"Explicitly a cache with an eviction policy: 10 GB per repo free, entries not accessed for 7 days are removed, LRU eviction at the cap, and caches are never publicly downloadable. Raising the","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":10.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-campus-program","card":{"rid":"storage/github-campus-program","eid":"github","topic":"storage","slug":"github-campus-program","provider":"github campus program (school-level github enterprise cloud)","url":"https://docs.github.com/en/education/about-github-education/use-github-at-your-educational-institution/about-github-campus-program","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"'50,000 GitHub Actions minutes and 50 GB GitHub Packages storage' — 50 GB, licence 'free for one year and will automatically renew annually'. An order of mag...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-campus-program","provider":"github campus program (school-level github enterprise cloud)","url":"https://docs.github.com/en/education/about-github-education/use-github-at-your-educational-institution/about-github-campus-program","category":"rejected-provider","free_tier":{"stated":"'50,000 GitHub Actions minutes and 50 GB GitHub Packages storage' — 50 GB, licence 'free for one year and will automatically renew annually'. An order of magnitude short, and Packages is a r","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/education/about-github-education/use-github-at-your-educational-institution/about-github-campus-program","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/education/about-github-education/use-github-at-your-educational-institution/about-github-campus-program","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/education/about-github-education/use-github-at-your-educational-institution/about-github-campus-program","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"'50,000 GitHub Actions minutes and 50 GB GitHub Packages storage' — 50 GB, licence 'free for one year and will automatically renew annually'. An order of magnitude short, and Packages is a r","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/education/about-github-education/use-github-at-your-educational-institution/about-github-campus-program","date":"2026-10-21","proved":"'50,000 GitHub Actions minutes and 50 GB GitHub Packages storage' — 50 GB, licence 'free for one year and will automatically renew annually'. An order of magnitude short, and Packages is a r"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"'50,000 GitHub Actions minutes and 50 GB GitHub Packages storage' — 50 GB, licence 'free for one year and will automatically renew annually'. An order of magnitude short, and Packages is a r","extras":{"dead_end":{"failure_class":"quota","why":"'50,000 GitHub Actions minutes and 50 GB GitHub Packages storage' — 50 GB, licence 'free for one year and will automatically renew annually'. An order of magnitude short, and Packages is a r","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":50.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-codespaces-disk","card":{"rid":"storage/github-codespaces-disk","eid":"github","topic":"storage","slug":"github-codespaces-disk","provider":"github codespaces disk","url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"15 GB-month of storage on GitHub Free, 120 core-hours. Explicitly a time-based quota in GB-hours, not a disk you can leave data on.","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-codespaces-disk","provider":"github codespaces disk","url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","category":"rejected-provider","free_tier":{"stated":"15 GB-month of storage on GitHub Free, 120 core-hours. Explicitly a time-based quota in GB-hours, not a disk you can leave data on.","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"15 GB-month of storage on GitHub Free, 120 core-hours. Explicitly a time-based quota in GB-hours, not a disk you can leave data on.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/billing/concepts/product-billing/github-codespaces","date":"2026-10-21","proved":"15 GB-month of storage on GitHub Free, 120 core-hours. Explicitly a time-based quota in GB-hours, not a disk you can leave data on."}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"15 GB-month of storage on GitHub Free, 120 core-hours. Explicitly a time-based quota in GB-hours, not a disk you can leave data on.","extras":{"dead_end":{"failure_class":"quota","why":"15 GB-month of storage on GitHub Free, 120 core-hours. Explicitly a time-based quota in GB-hours, not a disk you can leave data on.","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":15.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-packages-maven-registry","card":{"rid":"storage/github-packages-maven-registry","eid":"github","topic":"storage","slug":"github-packages-maven-registry","provider":"github packages — maven registry","url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"No file-size figure published on the doc page at all, so no quotable ceiling — cannot be reported as verified. Anonymous read denied (probed 401 Basic realm=...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-packages-maven-registry","provider":"github packages — maven registry","url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry","category":"rejected-provider","free_tier":{"stated":"No file-size figure published on the doc page at all, so no quotable ceiling — cannot be reported as verified. Anonymous read denied (probed 401 Basic realm=\"GitHub Package Registry\").","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"No file-size figure published on the doc page at all, so no quotable ceiling — cannot be reported as verified. Anonymous read denied (probed 401 Basic realm=\"GitHub Package Registry\").","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry","date":"2026-10-21","proved":"No file-size figure published on the doc page at all, so no quotable ceiling — cannot be reported as verified. Anonymous read denied (probed 401 Basic realm=\"GitHub Package Registry\")."}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"No file-size figure published on the doc page at all, so no quotable ceiling — cannot be reported as verified. Anonymous read denied (probed 401 Basic realm=\"GitHub Package Registry\").","extras":{"dead_end":{"failure_class":"quota","why":"No file-size figure published on the doc page at all, so no quotable ceiling — cannot be reported as verified. Anonymous read denied (probed 401 Basic realm=\"GitHub Package Registry\").","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":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[{"kind":"duplicate-disagrees","subject":"storage/github-packages","other":"storage/github-packages-maven-registry","field":"verdict","a":"fails-egress","b":"fails-quota","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}]},{"rid":"storage/github-packages-npm-registry","card":{"rid":"storage/github-packages-npm-registry","eid":"github","topic":"storage","slug":"github-packages-npm-registry","provider":"github packages — npm registry","url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"256 MB per tarball version, and it does not fall under the free-container carve-out; a private package on Free gets 500 MB storage + 1 GB/month transfer shar...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-packages-npm-registry","provider":"github packages — npm registry","url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry","category":"rejected-provider","free_tier":{"stated":"256 MB per tarball version, and it does not fall under the free-container carve-out; a private package on Free gets 500 MB storage + 1 GB/month transfer shared with Actions artifacts. Public","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"256 MB per tarball version, and it does not fall under the free-container carve-out; a private package on Free gets 500 MB storage + 1 GB/month transfer shared with Actions artifacts. Public","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry","date":"2026-10-21","proved":"256 MB per tarball version, and it does not fall under the free-container carve-out a private package on Free gets 500 MB storage + 1 GB/month transfer shared with Actions artifacts. Public"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"256 MB per tarball version, and it does not fall under the free-container carve-out; a private package on Free gets 500 MB storage + 1 GB/month transfer shared with Actions artifacts. Public","extras":{"dead_end":{"failure_class":"quota","why":"256 MB per tarball version, and it does not fall under the free-container carve-out; a private package on Free gets 500 MB storage + 1 GB/month transfer shared with Actions artifacts. Public","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":256.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[{"kind":"duplicate-disagrees","subject":"storage/github-packages","other":"storage/github-packages-npm-registry","field":"verdict","a":"fails-egress","b":"fails-quota","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}]},{"rid":"storage/github-packages-rubygems-registry","card":{"rid":"storage/github-packages-rubygems-registry","eid":"github","topic":"storage","slug":"github-packages-rubygems-registry","provider":"github packages — rubygems registry","url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"Documented cap is on metadata, not payload ('maximum uncompressed size of a gem's metadata.gz file must be less than 2 MB'), and gems are a poor container fo...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-packages-rubygems-registry","provider":"github packages — rubygems registry","url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry","category":"rejected-provider","free_tier":{"stated":"Documented cap is on metadata, not payload ('maximum uncompressed size of a gem's metadata.gz file must be less than 2 MB'), and gems are a poor container for bulk bytes. No bulk-win over Nu","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Documented cap is on metadata, not payload ('maximum uncompressed size of a gem's metadata.gz file must be less than 2 MB'), and gems are a poor container for bulk bytes. No bulk-win over Nu","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry","date":"2026-10-21","proved":"Documented cap is on metadata, not payload ('maximum uncompressed size of a gem's metadata.gz file must be less than 2 MB'), and gems are a poor container for bulk bytes. No bulk-win over Nu"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Documented cap is on metadata, not payload ('maximum uncompressed size of a gem's metadata.gz file must be less than 2 MB'), and gems are a poor container for bulk bytes. No bulk-win over Nu","extras":{"dead_end":{"failure_class":"quota","why":"Documented cap is on metadata, not payload ('maximum uncompressed size of a gem's metadata.gz file must be less than 2 MB'), and gems are a poor container for bulk bytes. No bulk-win over Nu","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":2.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[{"kind":"duplicate-disagrees","subject":"storage/github-packages","other":"storage/github-packages-rubygems-registry","field":"verdict","a":"fails-egress","b":"fails-quota","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}]},{"rid":"storage/github-pages","card":{"rid":"storage/github-pages","eid":"github","topic":"storage","slug":"github-pages","provider":"GitHub Pages (Fastly-served, 1 GB site)","url":"https://pages.github.com","domain":"github.com","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":"git","egress_metered":1,"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":"\"Published GitHub Pages sites may be no larger than 1 GB\"; source repositories \"recommended limit of 1 GB\". Bandwidth: \"a *soft* bandwidth limit of 100 GB pe...","duplicate_of":null,"n_unknown":9},"record":{"topic":"storage","slug":"github-pages","provider":"GitHub Pages (Fastly-served, 1 GB site)","url":"https://pages.github.com","category":"paas","free_tier":{"stated":"\"Published GitHub Pages sites may be no larger than 1 GB\"; source repositories \"recommended limit of 1 GB\". Bandwidth: \"a *soft* bandwidth limit of 100 GB per month\".","unit":"GB","metered_on":"unstated","source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","notes":"not stated"},"egress":{"terms":"100 GB/month soft cap, then throttling or a support email; served from Fastly ('Via: 1.1 varnish, X-Served-By: cache-bom-...'). Free to Cloudflare in front.","metered":true,"free_allowance":"100 GB per month"},"interface":["git"],"interface_detail":"git","tooling":"git push to a pages branch, or actions/deploy-pages; any static generator. No special client needed.","chaining":"one site per account ('You can only create one user or organization site for each account'), so multiplication is accounts x 1 GB — hundreds of accounts for a TB. Poor.","limits":[],"limits_note":"1 GB published, 100 GB/month bandwidth, 10-minute deploy timeout, 10 builds/hour (not applicable with a custom Actions workflow).","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Soft limits are enforced by support action rather than by hard rejection; rate limiting returns 429.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","date":"2026-10-21","proved":"'Published GitHub Pages sites may be no larger than 1 GB'; 'soft bandwidth limit of 100 GB per month'"},{"url":null,"date":"2026-10-21","proved":"probe: GET pages.github.com -> 200, Via: 1.1 varnish, X-Served-By: cache-bom-vanm7210067-BOM (Fastly)"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"\"Published GitHub Pages sites may be no larger than 1 GB\"; source repositories \"recommended limit of 1 GB\". Bandwidth: \"a *soft* bandwidth limit of 100 GB per month\".","extras":{"dead_end":{"failure_class":"egress","why":"\"Published GitHub Pages sites may be no larger than 1 GB\"; source repositories \"recommended limit of 1 GB\". Bandwidth: \"a *soft* bandwidth limit of 100 GB per month\".","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":1.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.evidence[1].url","private-url"],["$.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":[]},{"rid":"storage/github-pages-as-a-1-gb-site","card":{"rid":"storage/github-pages-as-a-1-gb-site","eid":"github","topic":"storage","slug":"github-pages-as-a-1-gb-site","provider":"github pages as a >1 gb site","url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","domain":"github.com","category":"rejected-provider","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":null,"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":"Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still ca...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-pages-as-a-1-gb-site","provider":"github pages as a >1 gb site","url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","category":"rejected-provider","free_tier":{"stated":"Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still capped at 1 GB. Only useful as a mu","unit":"none","metered_on":"none","source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still capped at 1 GB. Only useful as a mu","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits","date":"2026-10-21","proved":"Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still capped at 1 GB. Only useful as a mu"},{"url":"https://docs.github.com/en/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages","date":"2026-10-21","proved":"cited as the basis of the rejection: Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still capped at 1 GB. Only useful as a mu"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still capped at 1 GB. Only useful as a mu","extras":{"dead_end":{"failure_class":"quota","why":"Hard 1 GB per published site. The 10 GB artifact limit in upload-pages-artifact misleads people into thinking 10 GB is available; the served site is still capped at 1 GB. Only useful as a mu","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":1.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-student-developer-pack","card":{"rid":"storage/github-student-developer-pack","eid":"github","topic":"storage","slug":"github-student-developer-pack","provider":"github student developer pack (as a storage programme)","url":"https://education.github.com/pack","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"No bulk storage in the pack. The only storage lines are GitHub Pro's 2 GB Packages + 10 GB LFS, plus a Microsoft 365 seat that is tied to a personal account ...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-student-developer-pack","provider":"github student developer pack (as a storage programme)","url":"https://education.github.com/pack","category":"rejected-provider","free_tier":{"stated":"No bulk storage in the pack. The only storage lines are GitHub Pro's 2 GB Packages + 10 GB LFS, plus a Microsoft 365 seat that is tied to a personal account and not API-friendly at scale. Th","unit":"none","metered_on":"none","source_url":"https://education.github.com/pack","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://education.github.com/pack","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://education.github.com/pack","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"No bulk storage in the pack. The only storage lines are GitHub Pro's 2 GB Packages + 10 GB LFS, plus a Microsoft 365 seat that is tied to a personal account and not API-friendly at scale. Th","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://education.github.com/pack","date":"2026-10-21","proved":"No bulk storage in the pack. The only storage lines are GitHub Pro's 2 GB Packages + 10 GB LFS, plus a Microsoft 365 seat that is tied to a personal account and not API-friendly at scale. Th"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"No bulk storage in the pack. The only storage lines are GitHub Pro's 2 GB Packages + 10 GB LFS, plus a Microsoft 365 seat that is tied to a personal account and not API-friendly at scale. Th","extras":{"dead_end":{"failure_class":"quota","why":"No bulk storage in the pack. The only storage lines are GitHub Pro's 2 GB Packages + 10 GB LFS, plus a Microsoft 365 seat that is tied to a personal account and not API-friendly at scale. Th","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":2.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-student-developer-pack-2","card":{"rid":"storage/github-student-developer-pack-2","eid":"github","topic":"storage","slug":"github-student-developer-pack-2","provider":"github student developer pack (bundled storage)","url":"https://education.github.com/pack","domain":"github.com","category":"rejected-provider","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":null,"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":"The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one stud...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-student-developer-pack-2","provider":"github student developer pack (bundled storage)","url":"https://education.github.com/pack","category":"rejected-provider","free_tier":{"stated":"The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one student; Azure is '$100 in Azure cred","unit":"none","metered_on":"none","source_url":"https://education.github.com/pack","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://education.github.com/pack","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://education.github.com/pack","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one student; Azure is '$100 in Azure cred","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://education.github.com/pack","date":"2026-10-21","proved":"The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one student; Azure is '$100 in Azure cred"},{"url":"https://docs.github.com/en/billing/reference/product-usage-included","date":"2026-10-21","proved":"cited as the basis of the rejection: The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one student; Azure is '$100 in Azure cred"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one student; Azure is '$100 in Azure cred","extras":{"dead_end":{"failure_class":"quota","why":"The 2026 pack bundles no bulk storage at all. GitHub Pro gives only 2 GB Packages + 10 GB LFS; the Microsoft 365 offer is '1TB of cloud Storage' for one student; Azure is '$100 in Azure cred","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":2.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-student-developer-pack-storage-angle","card":{"rid":"storage/github-student-developer-pack-storage-angle","eid":"github","topic":"storage","slug":"github-student-developer-pack-storage-angle","provider":"github student developer pack — storage angle","url":"https://education.github.com/pack","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"The Pack's 2026 partner list has no meaningful bulk-storage grant. What it offers is Microsoft Azure $100 credit (a trial that expires, 5-20 GB practical), 1...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-student-developer-pack-storage-angle","provider":"github student developer pack — storage angle","url":"https://education.github.com/pack","category":"rejected-provider","free_tier":{"stated":"The Pack's 2026 partner list has no meaningful bulk-storage grant. What it offers is Microsoft Azure $100 credit (a trial that expires, 5-20 GB practical), 1 TB OneDrive via a Microsoft 365","unit":"none","metered_on":"none","source_url":"https://education.github.com/pack","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://education.github.com/pack","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://education.github.com/pack","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"The Pack's 2026 partner list has no meaningful bulk-storage grant. What it offers is Microsoft Azure $100 credit (a trial that expires, 5-20 GB practical), 1 TB OneDrive via a Microsoft 365","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://education.github.com/pack","date":"2026-10-21","proved":"The Pack's 2026 partner list has no meaningful bulk-storage grant. What it offers is Microsoft Azure $100 credit (a trial that expires, 5-20 GB practical), 1 TB OneDrive via a Microsoft 365"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"The Pack's 2026 partner list has no meaningful bulk-storage grant. What it offers is Microsoft Azure $100 credit (a trial that expires, 5-20 GB practical), 1 TB OneDrive via a Microsoft 365","extras":{"dead_end":{"failure_class":"retention","why":"The Pack's 2026 partner list has no meaningful bulk-storage grant. What it offers is Microsoft Azure $100 credit (a trial that expires, 5-20 GB practical), 1 TB OneDrive via a Microsoft 365","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":100.0,"unit":"credit","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/iroh-live","card":{"rid":"storage/iroh-live","eid":"github","topic":"storage","slug":"iroh-live","provider":"iroh-live","url":"https://api.github.com/orgs/n0-computer/repos","domain":"github.com","category":"rejected-provider","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":null,"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":1,"usd_month":null,"usd_per_tb_month":null,"summary":"Media livestreaming over iroh (134 stars). Live media is a stream fan-out problem, not a stored-object problem; nothing is retained.","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"iroh-live","provider":"iroh-live","url":"https://api.github.com/orgs/n0-computer/repos","category":"rejected-provider","free_tier":{"stated":"Media livestreaming over iroh (134 stars). Live media is a stream fan-out problem, not a stored-object problem; nothing is retained.","unit":"none","metered_on":"none","source_url":"https://api.github.com/orgs/n0-computer/repos","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://api.github.com/orgs/n0-computer/repos","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://api.github.com/orgs/n0-computer/repos","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Media livestreaming over iroh (134 stars). Live media is a stream fan-out problem, not a stored-object problem; nothing is retained.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://api.github.com/orgs/n0-computer/repos","date":"2026-10-21","proved":"Media livestreaming over iroh (134 stars). Live media is a stream fan-out problem, not a stored-object problem; nothing is retained."}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Media livestreaming over iroh (134 stars). Live media is a stream fan-out problem, not a stored-object problem; nothing is retained.","extras":{"dead_end":{"failure_class":"quota","why":"Media livestreaming over iroh (134 stars). Live media is a stream fan-out problem, not a stored-object problem; nothing is retained.","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":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/github-releases-as-buzzheavier-s-actual-upstream","card":{"rid":"storage/github-releases-as-buzzheavier-s-actual-upstream","eid":"github","topic":"storage","slug":"github-releases-as-buzzheavier-s-actual-upstream","provider":"github releases as buzzheavier's actual upstream (the fafda path)","url":"https://api.github.com/repos/GrandpaNutz/fafda","domain":"github.com","category":"rejected-provider","tier":null,"verdict":"dead","vorder":7,"grp":"dead","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":null,"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":3,"usd_month":null,"usd_per_tb_month":null,"summary":"Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't tru...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"github-releases-as-buzzheavier-s-actual-upstream","provider":"github releases as buzzheavier's actual upstream (the fafda path)","url":"https://api.github.com/repos/GrandpaNutz/fafda","category":"rejected-provider","free_tier":{"stated":"Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou","unit":"none","metered_on":"none","source_url":"https://api.github.com/repos/GrandpaNutz/fafda","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://api.github.com/repos/GrandpaNutz/fafda","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://api.github.com/repos/GrandpaNutz/fafda","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://api.github.com/repos/GrandpaNutz/fafda","date":"2026-10-21","proved":"Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou"},{"url":"https://api.github.com/users/GrandpaNutz","date":"2026-10-21","proved":"cited as the basis of the rejection: Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou"},{"url":"https://git.gay/ajtabjs/fafda","date":"2026-10-21","proved":"cited as the basis of the rejection: Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou"}],"verdict":"dead","verified_at":"2026-10-21T00:00:00.000Z","notes":"Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou","extras":{"dead_end":{"failure_class":"dead-service","why":"Works as an architecture, dead as a specific artifact: `GrandpaNutz/fafda` 404s, the user account 404s, and buzzheavier's own post predicted it ('I don't trust GitHub. They can nuke my accou","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":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]}]}