fshy / CI runners / Compute / Crawling / Egress and tunnels / Storage
Microsoft
microsoft.com · CI runners, Compute, Crawling, Egress and tunnels, Storage · 65 records · JSON
- Azure DevOps Repos (Git as bulk blob store) Storage★ qualifiesanonymousno cardR
- Azure DevOps Repos + Git LFS Storage★ qualifiesemail?card?R
- Microsoft 365 Business Basic — nonprofit grant (300 free seats x 1 TB OneDrive) Storage★ qualifiesemailno cardRper-object-cap
- Microsoft 365 / Office 365 A1 Education tenant (100 TB pooled) Storage★ qualifiesinstitutionno cardR
- Azure Pipelines (private project, free grant) CI runnerscaveatcardcardDper-object-capdisagrees
- Azure App Service (F1) ComputecaveatcardcardphoneDretention-clamped
- Azure Container Apps (Consumption, Dedicated, Dynamic Sessions) ComputecaveatcardcardDvolume-quota
- Azure Container Apps Sandboxes Computecaveatemail?card?Dwrite-gated
- Microsoft Foundry hosted agents (East US) Computecaveatemail?card?Rrequest-rate
- Azure Functions ComputecaveatcardcardDrequest-rate
- Azure Pipelines Computecaveatemail?card?Drequest-rate
- Azure Virtual Machines (Linux) Computecaveatemail?card?Dretention-clamped
- Azure Virtual Machines (Windows Server) Computecaveatemail?card?Drequest-rate
- Microsoft Computecaveatemailno cardDwrite-gated
- Azure for Students (and Azure for Students Starter) StoragecaveatcardcardRdisagrees
- Microsoft Azure grant for nonprofits ($2,000/yr, renews) StoragecaveatcardcardRper-object-cap
- Microsoft Teams (free / personal) - Gallery & Media uploads Storagecaveatinstitutionno cardRper-object-capdisagrees
- PlayFab Game Saves (Development Mode titles) Storagecaveatemail?card?Rper-object-cap
- SharePoint Online site collections (25 TB per site ceiling) Storagecaveatemail?card?R
- Azure Cloud Shell ComputetrialcardcardphoneR
- Microsoft Azure Free Account ComputetrialcardcardphoneDretention-clamped
- Windows 365 Cloud PC (Business / Enterprise) Computetrialemail?card?Drequest-rate
- Microsoft Azure free account Egress and tunnelstrialcardcardphoneDvolume-quota
- Microsoft Fabric trial capacity / OneLake Storagetrialcard?cardR
- Microsoft Dev Box (closed to new customers; retiring 2028-09-18) Computepaidemail?card?Dwrite-gated
- Windows 365 for Agents Computepaidemail?card?Drequest-rate
- Azure Computefails: identityinstitutionno cardDvolume-quota
- Azure Research Credits Computefails: identityinstitutionno cardDwrite-gated
- Microsoft AI Computefails: identityemailno cardDwrite-gated
- Microsoft Azure credits Computefails: identityinstitutionno cardDwrite-gated
- Microsoft Learn Student Computefails: identityinstitutionno cardDwrite-gated
- Azure for Students Egress and tunnelsfails: identityinstitutionno cardDvolume-quota
- azure blob storage 'always free' 5 gb Storagefails: identityemail?card?R
- Azure DDoS Protection Egress and tunnelsfails: egresscardcardDwrite-gated
- Azure Front Door Egress and tunnelsfails: egresscardcardIwrite-gated
- sharepoint embedded Storagefails: egressemail?card?R
- Microsoft Dev Tunnels Egress and tunnelsfails: quotaemailno cardDvolume-quota
- Azure Artifacts Storagefails: quotacardcardRdisagrees
- azure artifacts (azure devops) Storagefails: quotaemail?card?Rdisagrees
- Azure Blob Storage always-free tier Storagefails: quotacardcardRper-object-cap
- Azure Container Registry (Basic / free 12-month Standard) Storagefails: quotacardcardR
- azure container registry free standard tier Storagefails: quotaemail?card?R
- Azure DevOps Artifacts (Universal Packages) Storagefails: quotacardcardRper-object-capdisagrees
- azure devops artifacts Storagefails: quotaemail?card?Rdisagrees
- azure files 100 gb free Storagefails: quotaemail?card?R
- azure for students Storagefails: quotaemail?card?Rdisagrees
- azure for students ($100 credit) Storagefails: quotaemail?card?Rdisagrees
- azure for students ($100/yr, renewable) Storagefails: quotaemail?card?Rdisagrees
- azure open datasets (as a hosting programme) Storagefails: quotaemail?card?Rdisagrees
- azure pipelines build artifacts (as a free archive) Storagefails: quotaemail?card?R
- mcr (mcr.microsoft.com) Storagefails: quotaemail?card?R
- microsoft 365 e5 developer sandbox Storagefails: quotaemail?card?R
- microsoft 365 e5 developer subscription (the '25 x 1 tb' myth) Storagefails: quotaemail?card?R
- Microsoft Azure Free Account — Blob Storage Storagefails: quotacardcardR
- microsoft fabric trial / onelake Storagefails: quotaemail?card?R
- microsoft mcr / registry.k8s.io (read-only public mirrors) Storagefails: quotaemail?card?R
- Microsoft Teams (free / personal) Storagefails: quotaemail?card?Rdisagrees
- microsoft teams essentials / m365 business paid tiers Storagefails: quotaemail?card?R
- microsoft teams free (5 gb) Storagefails: quotaemail?card?Rdisagrees
- OneDrive consumer (Microsoft account) Storagefails: quotaemail?card?R
- onedrive consumer 5 gb Storagefails: quotaemail?card?R
- Azure Pipelines (public project) CI runnersdeadcardcardDretention-clampeddisagrees
- Bing Search APIs CrawlingdeadcardcardDrequest-rate
- azure open datasets Storagedeademail?card?Rdisagrees
- microsoft 365 business basic/standard/premium (nonprofit 75% discount) Storagedeademail?card?R
Azure DevOps Repos (Git as bulk blob store) Storage
★ qualifiesanonymousno cardR
| Free tier | Unlimited private Git repositories free per organization; each repository may be up to 250 GB; storage is NOT a billed meter - the Azure DevOps free tier bills only users, parallel jobs and Artifacts storage. Git LFS is free and does not count toward the 5 GB push limit. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Unmetered. Clone/fetch over HTTPS from dev.azure.com has no egress meter - the billing FAQ enumerates every chargeable meter (extra Basic users, Basic+Test Plans, parallel jobs, Artifacts >2 GB, GHAS) and data transfer is not among them. |
| Identity | anonymous derived from the record's prose, not from an identity field, and no signup was executed: length 32,766 chars; rate limits 200 TSTU per 5-min window; anonymous access to public projects is being removed (new public projects blocked April 2026, all converted to private and anonym |
| Binding | none no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names |
| Interface | rest, git, rclone git |
| Tooling | Plain git / git-lfs; Azure DevOps REST API for repository + item download (GET /_apis/git/repositories/{repo}/items?path=); rclone has no ADO Repos backend, so use git or the REST item API |
| Composes with | Unlimited repos x 250 GB each within one org; each org holds up to 1,000 projects; orgs are free and you may hold many. 250 GB x N repos x M orgs. The 2026 sprint-273 change removed the Git object-count limit, which was the per-repo ceiling that used to bite before 250 GB. Files are content-addressed and deduplicated across history, so a repo of distinct chunks stores each chunk once. |
| Reliability | Reliable but slow as bulk storage: no random-access read, no partial download, whole-repo clone semantics; the 'temporarily unavailable while repository is updated' pack-optimization window can block writes for large repos. |
| Notes | Unlimited private Git repositories free per organization; each repository may be up to 250 GB; storage is NOT a billed meter - the Azure DevOps free tier bills only users, parallel jobs and Artifacts storage. Git LFS is free and does not count toward the 5 GB push limit. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (6)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/repos/git/limits | 'Repositories should be no larger than 250 GB'; 'pushes are limited to 5 GB at a time'; 'Git LFS doesn't count towards the 5-GB repository limit' |
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/repos/git/manage-larg | 'Azure DevOps Services fully supports Git LFS and offers it for free' |
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/devops/azure-devop | 'Azure Repos: Unlimited private Git repos'; 'Azure Artifacts: 2 GiB free per organization' |
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/release-notes/2026/sp | 'Git object count limit removed ... enables unrestricted repository growth' |
| 2026-10-21 | dev.azure.com/powershell/powershell/_apis/git/repositories?a | probe: curl -> HTTP 200, returned repo objects with size fields (PowerShell repo size 90822000 bytes at time of probe) |
| 2026-10-21 | dev.azure.com/powershell/powershell/_git/powershell | probe: git ls-remote -> 200, returned HEAD 2f027ba4356e363f65e2cc71c7bd49c5d1556b32 (anonymous read works today, dies in 2027) |
Unknown or withheld values (5)
$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Azure DevOps Repos + Git LFS Storage
★ qualifiesemail?card?R
| Free tier | No LFS storage quota is published and none is enforced in the docs. Microsoft states plainly: 'Azure DevOps Services fully supports Git LFS and offers it for free.' The free tier is 5 Basic users with unlimited private Git repos; only Azure Artifacts carries a numeric cap (2 GiB free). Repo size guidance is 250 GB (soft), 'recommend keeping below 10 GB for optimal performance'. unit GiB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Unmetered. No bandwidth line item exists anywhere on the Azure DevOps pricing page — the paid units are users, parallel jobs and Artifacts GiB only. |
| Identity | email (placeholder) not published |
| Binding | none no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names |
| Interface | rest, ssh, git git |
| Tooling | git-lfs 3.x (gitlfs/git-lfs). Works over HTTPS; SSH is NOT supported for repos with LFS-tracked files. PAT auth. Also reachable via the Azure DevOps REST API for repo/ref management. |
| Composes with | 5 free Basic users per org, and up to 5 orgs per account (Microsoft Q&A, moderator answer) -> 25 orgs' worth of free LFS if each is a separate MSA. Orgs are unlimited in repo count, so total LFS is bounded only by the 250 GB-per-repo soft guidance — 250 GB x N repos. Unlike GitLab/GitHub, LFS bytes are not on the meter at all. |
| Reliability | The 250 GB repo figure is guidance, not a wall, but the docs warn the internal pack-file limit can trigger 'The Git pack file limit has been reached' and temporarily block writes on very large repos. Over-quota behaviour is undefined because there is no quota. |
| Notes | No LFS storage quota is published and none is enforced in the docs. Microsoft states plainly: 'Azure DevOps Services fully supports Git LFS and offers it for free.' The free tier is 5 Basic users with unlimited private Git repos; only Azure Artifacts carries a numeric cap (2 GiB free). Repo size guidance is 250 GB (soft), 'recommend keeping below 10 GB for optimal performance'. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/repos/git/limits?view | 'Git LFS doesn't count towards the 5-GB repository limit. The 5-GB limit applies only to files in the actual repository, not to blobs stored with LFS.' (page ms.date 2024-08-22, updated_at 2026-05-07) |
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/repos/git/manage-larg | 'Azure DevOps Services fully supports Git LFS and offers it for free.' |
| 2026-10-21 | devblogs.microsoft.com/devops/announcing-git-lfs-on-all-vso- | 2015 announcement: 'unlimited free storage ... extended to Git-LFS', never retracted; the current limits page still lists no LFS cap. |
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/devops/azure-devop | free tier list shows only '2 GiB free' for Artifacts; no LFS line item |
Unknown or withheld values (7)
$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Microsoft 365 Business Basic — nonprofit grant (300 free seats x 1 TB OneDrive) Storage
★ qualifiesemailno cardRper-object-cap
| Free tier | Microsoft 365 Business Basic (Nonprofit Staff Pricing) is a 'Grant — Free up to 300 users', and every seat carries '1 TB of cloud storage per user' (OneDrive). 300 x 1 TB = 300 TB of pooled tenant storage at zero cost. SharePoint on top: total org storage '1 TB + 10GB per license purchased', max 25 TB per site collection. unit TB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 250 GB per file (250000000000 bytes) |
| Retention | not stated |
| Egress | No egress meter on OneDrive/SharePoint downloads — Microsoft does not bill data transfer out for M365 storage. Put Cloudflare in front and it is fully covered. |
| Identity | email derived from the record's prose, not from an identity field, and no signup was executed: r file in OneDrive (Microsoft's documented ceiling), 100 GB mailbox, SharePoint list/library max 30 million items. request-rate: Graph throttling is per-app-per-tenant and is the practica |
| Limits |
per-object-cap 250 GB per file in OneDrive (Microsoft's documented ceiling), 100 GB mailbox, SharePoint list/library max 30 million items. request-rate: Graph throttling is per-app-per-tenant and is the practical ceiling for bulk sync, not bytes. retention: perpetual while the subscription renews; Microsoft requires '85% active usage of all granted assigned licenses' or the org risks losing future grants. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest, graph, rclone rest |
| Tooling | rclone backend 'onedrive' (Tier 1, chunked upload, server-side move); Microsoft Graph API (/me/drive, /sites/{id}/drive); SharePoint REST. The Graph endpoints are the documented programmatic path. |
| Composes with | The multiplier here is seats, not orgs: 300 granted seats per nonprofit tenant, 1 TB each, plus 10 GB of SharePoint pool per licence with a 25 TB ceiling per site collection — so a single tenant can present 300 TB of OneDrive *and* multi-TB SharePoint document libraries. 300 seats at 1 TB is the largest free number found anywhere in this niche. Multiple 501(c)(3) entities = separate tenants. |
| Reliability | The grant survived the July 2025 cull that killed *donated* Business Premium and O365 E1 — Business Basic is still listed as 'Grant, Free up to 300 users'. Unused seats are reclaimed under the 85% rule; inactive tenants risk losing grants at renewal. |
| Notes | Microsoft 365 Business Basic (Nonprofit Staff Pricing) is a 'Grant — Free up to 300 users', and every seat carries '1 TB of cloud storage per user' (OneDrive). 300 x 1 TB = 300 TB of pooled tenant storage at zero cost. SharePoint on top: total org storage '1 TB + 10GB per license purchased', max 25 TB per site collection. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.microsoft.com/en-us/microsoft-365/business/nonprofit-pla | 'Microsoft 365 Business Basic (Nonprofit Staff Pricing) | Grant | Free up to 300 users' and '1 TB of cloud storage per user' across the compare table |
| 2026-10-21 | learn.microsoft.com/en-us/office365/servicedescriptions/shar | 'Total storage per organization: 1 TB + 10GB per license purchased'; 'Max storage per site (site collection): 25 TB' |
| 2026-10-21 | support.techsoup.org/hc/en-us/articles/37040124982811-Discon | donated Business Premium/E1 discontinued from 2025-07-01; Business Basic grant unaffected |
| 2026-10-21 | withheld | probe: GET graph.microsoft.com/v1.0/me/drive -> 401, 237 bytes (read path is Graph, auth-gated) |
Unknown or withheld values (5)
$.evidence[3].urlprivate-url$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Microsoft 365 / Office 365 A1 Education tenant (100 TB pooled) Storage
★ qualifiesinstitutionno cardR
| Free tier | 100 TB (102,400 GB) free pooled storage per education tenant, spanning OneDrive + SharePoint + Exchange; pooled capacity = 100 TB base + per-license contributions. Office 365 A1 licenses contribute 0 GB but consume from the pool. unit TB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Not metered. Microsoft 365 is a subscription service with no per-GB egress meter; Microsoft support states 'if the user has the related license, there is no charge for uploading and downloading files'. SharePoint/OneDrive downloads are direct HTTPS URLs. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: no migration path. 100 TB is per TENANT and tenants are per institution, not per user: N schools x 100 TB. Inside one tenant the ceiling is much higher than the pool in principle - 2,000,000 |
| Binding | none no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names |
| Interface | rest, graph, rclone rest |
| Tooling | Microsoft Graph driveItem API (whole-tenant app-only auth: Files.ReadWrite.All + Sites.Read.All); rclone backend 'onedrive' with drive_type=business or drive_type=documentLibrary, and a SharePoint remote type; office365-rest-python-client (vgrem) for list/library operations |
| Composes with | 100 TB is per TENANT and tenants are per institution, not per user: N schools x 100 TB. Inside one tenant the ceiling is much higher than the pool in principle - 2,000,000 site collections per org at up to 25 TB per site - but the 100 TB pool is the binding limit. Add unlimited free A1 user licenses (which add 0 GB but give each user a 100 GB or 1 TB OneDrive ceiling), and paid A3/A5 at 50/100 GB per license. Multiply across tenants for archival shards. |
| Reliability | Storage is enforced at the tenant pool level and tenants get flipped to read-only on overage - data survives but writes fail; per-user OneDrive caps were cut (5 TB -> 100 GB for A1) in 2024 with no migration path. |
| Notes | 100 TB (102,400 GB) free pooled storage per education tenant, spanning OneDrive + SharePoint + Exchange; pooled capacity = 100 TB base + per-license contributions. Office 365 A1 licenses contribute 0 GB but consume from the pool. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/office365/servicedescriptions/offi | 'All Education tenants with Pooled Storage are granted an initial and free 100 TB of storage to their pool'; 'Storage for site collections: Up to 25 TB per site collection or group'; 'Site collections per tenant: 500,000' |
| 2026-10-21 | cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/micros | '100TB of free pooled storage across OneDrive, SharePoint, and Exchange'; 'Office 365 A1 ... maximum OneDrive limit of 100GB'; '100 TB Default Limit (102,400 GB)' |
| 2026-10-21 | learn.microsoft.com/en-us/sharepoint/sharepoint-limits | (via /office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits) - '250 GB - File upload limit', '1 TB + 10GB per license purchased' |
| 2026-10-21 | www.microsoft.com/en-us/education/products/office | 'Educators and students with an eligible education email address can get Office 365 A1 for free' |
Unknown or withheld values (5)
$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Azure Pipelines (private project, free grant) CI runners
caveatcardcardDper-object-capdisagrees
Sibling records disagree:
- verdict:
ci-cd-runners/azure-pipelines-privatesays qualifies-with-caveat, ci-cd-runners/azure-pipelines-public says dead
| Free tier | 1 free parallel job with 1,800 minutes a month and 60 minutes per job, with a 10 GB disk unit minutes; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | 60 minutes per job on the free grant; 360 minutes only on a paid parallel job |
| Retention | artifacts and logs follow pipeline retention settings; the minute pool is monthly |
| Egress | no egress charge on the hosted agent itself |
| Identity | card an Azure subscription is required, which means a payment instrument, even when the grant is free |
| Limits | |
| Binding | per-object-cap |
| Interface | git, cli an azure-pipelines.yml pipeline; a REST API and the az CLI |
| Tooling | the Microsoft-hosted images; any shell; the Azure CLI preinstalled |
| Composes with | 1,800 minutes is the largest per-job-minute pool of the small providers, and the 60-minute job cap is the smallest |
| Reliability | no reliability event recorded |
| Notes | The 60-minute job cap is the smallest of any provider here and it is the number that excludes a user's work. The subscription requirement is the second gate. |
| Evidence rung | documented the hosted-agents doc was read today. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | learn.microsoft.com/en-us/azure/devops/pipelines/agents/host | one free parallel job with 1,800 minutes a month and a 60-minute maximum job duration; 10 GB of disk; the 360-minute cap applies only with a paid parallel job |
Unknown or withheld values (1)
$.reliability_notenone-observed
Azure App Service (F1) Compute
caveatcardcardphoneDretention-clamped
| Free tier | F1 Free Shared: 60 CPU minutes a day, 1 GB RAM, 1.00 GB storage, no SLA unit minutes; metered on wall-clock; the 512 MB and 5 GB figures in older guides are obsolete |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | the app and its files persist on the plan; no deletion clock is stated |
| Egress | not published on the page read |
| Identity | card an Azure account requires a card and a phone number |
| Limits |
the 20-minute idle timeout is stated by Microsoft in two first-party articles; learn.microsoft.com/en-us/azure/app-service/webjobs-execution carries the sentence quoted in evidence |
| Binding | retention-clamped the 20-minute idle timer is the first wall: 60 CPU-minutes a day is generous for a keepalive, and a keepalive needs a direct request to reset the timer, which a health probe from outside the app supplies |
| Interface | ssh a public *.azurewebsites.net endpoint; deployment by git, zip or container |
| Tooling | the Azure CLI, Kudu, git push deployment |
| Composes with | a public HTTPS endpoint with 60 CPU minutes a day, which is a scheduler and not a host |
| Reliability | no reliability event recorded |
| Notes | It is documented first-party at learn.microsoft.com/en-us/azure/app-service/webjobs-execution (read 2026-10-22), which also says a portal visit or a Kudu request does not reset the timer |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-06 | azure.microsoft.com/en-us/pricing/details/app-service/linux/ | F1 Free Shared is 60 CPU minutes a day with 1 GB RAM and 1.00 GB storage |
| 2026-10-22 | learn.microsoft.com/en-us/azure/app-service/webjobs-executio | 'Web apps can time out after 20 minutes of inactivity, and only direct requests to the app reset this idle timer. Actions like viewing the portal or accessing the Kudu tools don't keep the app active.' |
More fields (8)
{
"shape": null,
"billing_model": "consumed-cpu",
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": 1200,
"restart_required": false,
"note": "20-minute idle timeout: 'Web apps can time out after 20 minutes of inactivity, and only direct requests to the app reset this idle timer. Actions like viewing the portal or accessing the Kudu tools don't keep the app active.'"
},
"keep_rate": {
"value": 0.0,
"basis": "a free app does not bill",
"source": "https://azure.microsoft.com/en-us/pricing/details/app-service/linux/"
},
"persistent_storage": {
"included_gib": 1,
"price_gib_month": "not offered",
"durability": "app files",
"survives_stop": true,
"survives_destroy": false,
"max_retention": "while the plan exists"
},
"network_out": {
"allow_outbound": true,
"allow_inbound_listen": true,
"ports": "HTTPS on the app hostname",
"static_ip": null,
"ipv6": null,
"per_session_bytes": null
},
"free_tier_kind": "allowance",
"census_rows": [
"azure-appservice-f1"
]
}Unknown or withheld values (5)
$.confidence_notewithheld$.egress.meteredegress-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed
Azure Container Apps (Consumption, Dedicated, Dynamic Sessions) Compute
caveatcardcardDvolume-quota
| Free tier | per subscription per month: 'The first 180,000 vCPU-seconds, 360,000 GiB-seconds, and 2 million requests per subscription per month are free.' unit seconds; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not applicable: the unit is a replica |
| Retention | ephemeral storage per replica; no persistent disk in the free allowance |
| Egress | not stated on the pricing page read today beyond the ingress-free rule free_allowance: unstated |
| Identity | card an Azure subscription with a card; the free grant is a monthly allowance on a paid subscription |
| Limits |
not stated |
| Binding | volume-quota 360,000 GiB-seconds at 512 MiB is 720,000 seconds, 8.3 days, and the vCPU grant at a quarter core is 720,000 seconds, so both meters run out together in the second week. |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | an application can scale to zero with no usage charge; a configured minimum replica bills at a reduced idle rate |
| Notes | The page's per-unit prices render as '-' in the extracted text, so no rate is recorded. Arithmetic from the free grant only: 0.25 vCPU and 512 MiB always-on is 648,000 vCPU-seconds and 1,296,000 GiB-seconds a month, so the grant covers 720,000 seconds of it, 8.3 days. |
| Evidence rung | documented the grant, the active-replica thresholds and the scale-to-zero rule were read on the pricing page today |
| Checked | 2026-10-25 (live); stale on 2026-11-24 |
| Parsed numbers |
|
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | azure.microsoft.com/en-us/pricing/details/container-apps/ | not published |
| 2026-10-22 | azure.microsoft.com/en-us/pricing/details/container-apps/ | 'The first 180,000 vCPU-seconds, 360,000 GiB-seconds, and 2 million requests per subscription per month are free' and 'A replica is active when vCPU usage is above 0.01 cores or when data received is above 1,000 bytes per second', quoted |
| 2026-10-24 | azure.microsoft.com/en-us/pricing/details/container-apps/ | quoted: 'The first 180,000 vCPU-seconds, 360,000 GiB-seconds, and 2 million requests per subscription per month are free.' |
| 2026-10-24 | azure.microsoft.com/en-us/pricing/details/container-apps/ | quoted: 'A replica is active when vCPU usage is above 0.01 cores or when data received is above 1,000 bytes per second.' |
More fields (22)
{
"talaria_m10h_usd": 59.4,
"talaria_m24h_usd": 150.12,
"nemo_m10h_usd": 3.6,
"keep_rate": 1.0,
"keep_rate_basis": null,
"billing_model": "per-second",
"shape": {
"vcpu": 0.25,
"ram_gib": 0.5,
"disk_gib": null,
"gpu_class": null,
"gpu_count": null
},
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "scale to zero unless a minimum replica count is set"
},
"persistent_storage": null,
"network_out": {
"allow_outbound": true,
"allow_inbound_listen": true,
"ports": "ingress on the container port with an Azure-provided hostname",
"static_ip": false,
"ipv6": false,
"per_session_bytes": null
},
"price_note": "the two seed columns disagree because nemo applied the USD 5.40 monthly grant to a SKU the grant does not cover. talaria's USD 59.40 is the gross bill at the published rate and nemo's USD 3.60 nets a grant against it. One of them applied the credit to the wrong meter",
"free_tier_kind": "monthly-grant",
"catalogue_field_warning": "free_monthly_credit conflates a recurring grant with a one-time grant divided by a month",
"dispute": "talaria USD 59.40 vs nemo USD 3.60. The plan names this as a credit-applied-to-the-wrong-meter case, so it is an error rather than product ambiguity: the grant does not attach to the SKU nemo priced",
"granularity": {
"min_billed_s": 0,
"rounding_s": null
},
"burst_x": 3.5,
"burst_bill": "min 1 h",
"net": null,
"term": "monthly",
"m10h_usd": 0.0,
"m24h_usd": 0.0,
"price_arithmetic": "free inside the monthly grant; 8.3 days of a 0.25 vCPU / 512 MiB replica exhausts both meters"
}Unknown or withheld values (8)
$.chainingnot-stated$.egress.meteredegress-unknown$.evidence[0].provedprocess$.extras.keep_rate_basisprocess$.interfaceinterface-unknown$.interface_detailwithheld$.limits_notenot-stated$.toolingnot-stated
Corrections
- 2026-10-22 Azure's free compute is a monthly vCPU-second allowance, and three records carried the credit instead
Azure Container Apps Sandboxes Compute
caveatemail?card?Dwrite-gated
| Free tier | no sandbox-specific free allowance is published; sandbox compute bills through the same per-second Container Apps meters, whose first 180,000 vCPU-seconds and 360,000 GiB-seconds a month are free unit seconds; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
not stated |
| Binding | write-gated |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | documented the sandboxes overview was read on 2026-10-22. It establishes the lifecycle and the stop-billing behaviour and does not publish a free allowance, so the requirement below is the Container Apps consumption allowance the same vendor prices on its pricing page, not a sandbox-specific grant |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | learn.microsoft.com/en-us/azure/container-apps/sandboxes-ove | not published |
| 2026-10-22 | learn.microsoft.com/en-us/azure/container-apps/sandboxes-ove | 'Sandboxes are provisioned from prewarmed pools for near-instant availability' and 'You pay no CPU or memory fees when sandboxes are stopped' and 'Suspend and resume: Snapshot full state including memory and disk, and resume later with sub-second restore times', quoted |
More fields (16)
{
"talaria_m10h_usd": 64.8,
"talaria_m24h_usd": 155.52,
"nemo_m10h_usd": 64.8,
"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": "no automatic reap is described: you manage create, suspend, resume and delete, and a stopped sandbox is free of compute charges"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "allowance",
"granularity": {
"min_billed_s": 0,
"rounding_s": null
},
"burst_x": 1.0,
"ps": {
"gib": null,
"price": "volumes are a separate resource",
"durability": "snapshot of memory and disk; persistent volumes",
"on_stop": true,
"on_destroy": false,
"retention": "until the sandbox is deleted"
},
"net": {
"out": true,
"in": true,
"ports": "networking policies govern egress and ingress",
"static_ip": null,
"ipv6": null,
"allowance": null
}
}Unknown or withheld values (17)
$.chainingnot-stated$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.keep_rate_basisprocess$.extras.price_noteprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_notenot-stated$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Microsoft Foundry hosted agents (East US) Compute
caveatemail?card?Rrequest-rate
| Free tier | not published unit mixed; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
excluded as ranked-partial |
| Binding | request-rate |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | reported the Foundry Agent Service pricing page was read on 2026-10-22 and lists the meters, with 1 GB of vector storage free. |
| Checked | 2026-10-23 (live); stale on 2026-11-06 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | azure.microsoft.com/en-us/pricing/details/foundry-agent-serv | not published |
| 2026-10-22 | azure.microsoft.com/en-us/pricing/details/foundry-agent-serv | 'File Search Storage: $-/GB of vector-storage per day (1 GB free)' and the vCPU-hour and GiB-hour meters, quoted; the page states no agent-runtime free allowance |
More fields (13)
{
"talaria_m10h_usd": 73.8,
"talaria_m24h_usd": 177.12,
"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": "no session cap published; the meters run while the agent is hosted"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "one-time-credit",
"net": null
}Unknown or withheld values (19)
$.chainingnot-stated$.confidence_notepartly-held$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.keep_rate_basisprocess$.extras.price_noteprocess$.free_tier.noteswithheld$.free_tier.statedwithheld$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Azure Functions Compute
caveatcardcardDrequest-rate
| Free tier | Quoted: "Consumption plan pricing includes a monthly free grant of 1 million requests and 400,000 GB-s of resource consumption per month per subscription in pay-as-you-go pricing across all function apps in that subscription." Footnote on the same page: "Free grants apply to the on-demand meters on paid, consumption subscriptions only." unit GiB; metered on wall-clock; perpetual-allowance |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | card not published |
| Limits |
400,000 GB-s a month is 3,200,000 instance-seconds at the minimum 128 MB allocation, which is 37.0 days of one always-resident 128 MB worker, so the grant is slightly larger than a month but a single function execution is capped at 10 minutes on the consumption plan and cannot stay resident. |
| Binding | request-rate 400,000 GB-s a month is 3,200,000 instance-seconds at the minimum 128 MB allocation, which is 37.0 days of one always-resident 128 MB worker, so the grant is slightly larger than a month but a single function execution is capped at 10 minutes on the consumption plan and cannot stay resident. |
| Interface | unknown inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | 3,200,000 instance-seconds is the largest perpetual serverless budget found and it needs no IPv4 front, so it composes with an IPv6-only VPS as the scheduler that renews and health-checks it, or as the worker for jobs the 10 minute limit can divide. |
| Reliability | no reliability event recorded |
| Notes | The 400,000 GB-s figure is a memory-time budget, not a wall-clock one: the same 400,000 buys 37 days at 128 MB, 18.5 days at 256 MB, or 9.3 days at 512 MB. The 'paid consumption subscriptions only' footnote is the unresolved part, because it may exclude the free trial subscription the client would start with; a probe of the portal quota page on a fresh subscription would settle it. Azure App Service F1 is the separate always-free web lane and is already recorded in the corpus. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | azure.microsoft.com/en-us/pricing/details/functions/ | monthly free grant of 1 million executions and 400,000 GB-s per subscription, with the footnote that grants apply to paid consumption subscriptions only, quoted |
| 2026-10-22 | azure.microsoft.com/en-us/pricing/free-services | Azure lists 65 or more always-free services that persist for as long as the account exists, separate from the 12-month list |
| 2026-10-22 | azure.microsoft.com/en-us/free/virtual-machines | the always-free table lists Functions at 1 million requests, distinct from the 12-month-only VM allowances |
More fields (1)
{
"wave2": {
"class": "perpetual-allowance",
"free_tier_kind": "perpetual-allowance",
"shape": {
"vcpu": null,
"ram_gib": 1.5,
"gpu_class": null,
"gpu_count": null
}
}
}Unknown or withheld values (10)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.identity_cost.detailprocess$.interfaceinterface-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Azure Pipelines Compute
caveatemail?card?Drequest-rate
| Free tier | one Microsoft-hosted CI/CD job with 1,800 minutes a month, plus one self-hosted job with unlimited minutes, on every Azure DevOps organisation unit minutes; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
not stated |
| Binding | request-rate |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | documented the Azure DevOps pricing page was read on 2026-10-22. The free allowance is a monthly minute pool on one hosted job plus an unmetered self-hosted job, which is a recurring tier and not a credit |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | azure.microsoft.com/en-us/pricing/details/devops/azure-devop | not published |
| 2026-10-22 | azure.microsoft.com/en-us/pricing/details/devops/azure-devop | '1 Microsoft-hosted job with 1,800 minutes per month for CI/CD and 1 self-hosted job with unlimited minutes per month' and '$40 per extra Microsoft-hosted CI/CD parallel job', quoted |
More fields (14)
{
"talaria_m10h_usd": 1116.0,
"talaria_m24h_usd": 2678.4,
"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 hosted job has its own timeout; the monthly minute pool is what runs out first"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "allowance",
"granularity": {
"min_billed_s": 60,
"rounding_s": null
},
"net": null
}Unknown or withheld values (17)
$.chainingnot-stated$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.keep_rate_basisprocess$.extras.price_noteprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_notenot-stated$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Azure Virtual Machines (Linux) Compute
caveatemail?card?Dretention-clamped
| Free tier | no free allowance for a Linux VM; the USD 200 credit is a 30-day new-account trial. The 750-hour B-series allowance on the Windows page is a separate row unit mixed; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
not stated |
| Binding | retention-clamped |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | documented the Linux virtual machines pricing page was read on 2026-10-22. It establishes the per-minute billing and the difference between Stopped and Deallocated, which is the state axis. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | azure.microsoft.com/en-us/pricing/details/virtual-machines/l | not published |
| 2026-10-22 | azure.microsoft.com/en-us/pricing/details/virtual-machines/l | 'Stopped: you are billed for allocated cores, but not software license' and 'Deleted (Deallocated): cores are no longer allocated to the virtual machine, and are no longer billed' and 'We charge for the number of full minutes your virtual machine is running', quoted |
More fields (19)
{
"talaria_m10h_usd": 11.28,
"talaria_m24h_usd": 27.07,
"nemo_m10h_usd": 11.9,
"keep_rate": 1.0,
"keep_rate_basis": null,
"billing_model": "flat-pool",
"shape": null,
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "no reap; a Stopped VM keeps billing its cores, so the cost lever is Deallocate, which discards the temporary disk"
},
"persistent_storage": null,
"network_out": null,
"price_note": "a VPS bills by the month with an hourly rate capped at the monthly figure, so the two columns answer two questions: destroying the box between runs versus keeping it up.",
"free_tier_kind": "one-time-credit",
"m10h_usd": 11.28,
"m24h_usd": 28.55,
"price_basis": "10 h/day column = 300 h at the hourly rate, which is what a server destroyed between runs costs; 24/7 column = the monthly cap, because a VPS kept up all month stops at the cap.",
"granularity": {
"min_billed_s": 60,
"rounding_s": null
},
"burst_x": 1.025,
"ps": {
"gib": null,
"price": "managed disks are billed separately from the instance",
"durability": "managed disk",
"on_stop": true,
"on_destroy": false,
"retention": "while the disk exists; the temporary disk does not survive a deallocation"
},
"net": {
"out": true,
"in": true,
"ports": "any",
"static_ip": false,
"ipv6": false,
"allowance": "a dynamic VIP is included; a reserved IP is charged"
}
}Unknown or withheld values (17)
$.chainingnot-stated$.confidence_notepartly-held$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.keep_rate_basisprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_notenot-stated$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Azure Virtual Machines (Windows Server) Compute
caveatemail?card?Drequest-rate
| Free tier | 750 hours each of B2ts v2, B2pts v2 and B2ats v2 burstable VMs free every month for the first 12 months, which is one always-on machine of each family unit hours; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
not stated |
| Binding | request-rate |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | documented the Windows virtual machines pricing page was read on 2026-10-22 and states the 750-hour monthly allowance per burstable family for 12 months. Because the page is the Windows one, the allowance includes the licence, which the Linux page's rows do not |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | azure.microsoft.com/en-us/pricing/details/virtual-machines/w | not published |
| 2026-10-22 | azure.microsoft.com/en-us/pricing/details/virtual-machines/w | 'Get 750 hours each of B2ts v2 (Intel-based), B2pts v2 (Arm-based), and B2ats v2 (AMD-based) burstable VMs free every month for 12 months' and 'Stopped: you are billed for allocated cores' and 'Deleted (Deallocated): cores are no longer allocated', quoted |
More fields (14)
{
"talaria_m10h_usd": 12.48,
"talaria_m24h_usd": 29.95,
"nemo_m10h_usd": null,
"keep_rate": 1.0,
"keep_rate_basis": null,
"billing_model": "unclassified",
"shape": {
"vcpu": 2,
"ram": 8,
"disk": null,
"gpu_class": null,
"gpu_count": null,
"note": "B2ts v2: 2 vCPU, 8 GiB burstable, with the Windows licence included in the free hours"
},
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "750 hours a month is 730 hours of always-on use, so one machine of each family fits; the 12-month clock resets nothing"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "trial",
"granularity": {
"min_billed_s": 0,
"rounding_s": null
},
"net": {
"out": true,
"in": true,
"ports": "any",
"static_ip": false,
"ipv6": false,
"allowance": null
}
}Unknown or withheld values (17)
$.chainingnot-stated$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.keep_rate_basisprocess$.extras.price_noteprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_notenot-stated$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Corrections
- 2026-10-22 Azure's free compute is a monthly vCPU-second allowance, and three records carried the credit instead
Microsoft Compute
caveatemailno cardDwrite-gated
| Free tier | Up to USD 200 in Startup credits immediately to start building on Azure. Milestone 1 requires: sign up for Azure and verify your identity using a personal LinkedIn account, with no business accounts allowed at this step. unit none; metered on wall-clock; one-shot-credit |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | email A personal LinkedIn account plus an Azure signup. |
| Limits |
USD 200 is the whole reachable slice; the next milestone is gated on business verification and everything above it on Azure spend the client does not have. |
| Binding | write-gated USD 200 is the whole reachable slice; the next milestone is gated on business verification and everything above it on Azure spend the client does not have. |
| Interface | unknown inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | USD 200 of Azure buys a few days of a small VM or a modest amount of Azure OpenAI usage. It composes as a way to test an Azure-only service before paying, and with the Azure free account allowance, but it is too small to train anything. |
| Reliability | no reliability event recorded |
| Notes | The program page itself, microsoft.com/en-us/startups, returns 200 but prints only marketing prose and no eligibility list; the Learn page carries the ladder. Treat USD 200 as the only part reachable without a legal entity. The one recorded is the better-evidenced. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | learn.microsoft.com/en-us/startups/microsoft-for-startups/ge | Milestone 1 is USD 200 and requires signing up for Azure and verifying identity with a personal LinkedIn account, quoted: 'Verify your identity (use a personal LinkedIn account, no business accounts allowed at this step)' |
| 2026-10-22 | learn.microsoft.com/en-us/startups/microsoft-for-startups/ge | Milestone 2 is USD 5,000 and requires completing business verification, defined on the same page as 'Confirm your startup is a registered legal entity' |
| 2026-10-22 | learn.microsoft.com/en-us/startups/microsoft-for-startups/ge | the full milestone ladder USD 200, USD 5,000, USD 25,000, USD 50,000, USD 150,000 with its workload and spend conditions, quoted |
| 2026-10-22 | learn.microsoft.com/en-us/startups/microsoft-for-startups/ge | each 60-day clock starts once the workload count is met and every workload must stay above USD 1 of spend for all 60 days, quoted |
More fields (1)
{
"wave2": {
"class": "startup-credit",
"free_tier_kind": "one-shot-credit",
"shape": null
}
}Unknown or withheld values (9)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.interfaceinterface-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Azure for Students (and Azure for Students Starter) Storage
caveatcardcardRdisagrees
Sibling records disagree:
- verdict:
storage/azure-for-studentssays qualifies-with-caveat, storage/azure-for-students-2 says fails-quota - identity_kind:
storage/azure-for-studentssays card, storage/azure-for-students-2 says email - verdict:
storage/azure-for-studentssays qualifies-with-caveat, storage/azure-for-students-3 says fails-quota - identity_kind:
storage/azure-for-studentssays card, storage/azure-for-students-3 says email - verdict:
storage/azure-for-studentssays qualifies-with-caveat, storage/azure-for-students-4 says fails-quota - identity_kind:
storage/azure-for-studentssays card, storage/azure-for-students-4 says email
| Free tier | $100 credit per 12 months plus free monthly amounts of 20+ services; no credit card required. Explicitly renewable: 'Renew your subscription annually and continue to get free access to Azure as long as you're a student.' Starter tier (13-17) gives services without the $100. unit mixed; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | The 100 GB/month free internet egress (all Azure customers) applies; beyond that metered. free_allowance: 100 GB per month |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: $100 credit per 12 months plus free monthly amounts of 20+ services; no credit card required. Explicitly renewable: 'Renew |
| Binding | none no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names |
| Interface | s3, rest, rclone s3 |
| Tooling | Azure Blob REST / rclone azureblob / azcopy, same as paid Azure. |
| Composes with | $100/year at ~$0.0184/GB-month hot LRS ≈ 5.4 TB-months per year ≈ 450 GB held for the full year — just under the 500 GB floor, and it renews yearly while student status holds. This is the only genuinely yearly-renewable big-cloud credit found. |
| Reliability | Subscription is disabled at year end until renewed; data can be lost if the subscription lapses and is later reactivated. |
| Notes | $100 credit per 12 months plus free monthly amounts of 20+ services; no credit card required. Explicitly renewable: 'Renew your subscription annually and continue to get free access to Azure as long as you're a student.' Starter tier (13-17) gives services without the $100. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/free/students | '$100 credit to use on Azure services within 12 months'; 'Renew your subscription annually and continue to get free access to Azure as long as you're a student' |
| 2026-10-21 | azure.microsoft.com/en-us/free/students | Starter tier: 'Free monthly amounts of 20+ popular services for 12 months (new Azure customers only)' |
Unknown or withheld values (5)
$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Microsoft Azure grant for nonprofits ($2,000/yr, renews) Storage
caveatcardcardRper-object-cap
| Free tier | $2,000 (USD) in donated Azure services credits per year, renewable. Not a byte quota — a credit grant usable against 'the complete portfolio of Azure products and cloud services', which includes Blob Storage / Data Lake Storage Gen2 / Azure Files. unit mixed; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | per-object-cap: Blob block blob max ~190.7 TiB (209676867416883 bytes) |
| Retention | not stated |
| Egress | Azure egress is metered and would eat the credit; this only works as *archive* (rare read) or behind a CDN whose own free tier covers delivery. Archive-tier reads also carry retrieval cost. |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: $2,000 (USD) in donated Azure services credits per year, renewable. Not a byte quota — a credit grant usable against 'the |
| Limits |
per-object-cap: Blob block blob max ~190.7 TiB, single PUT 5,000 MiB — not the constraint. The constraint is *budget*: the grant is a spend cap, and any per-GB/month rate times 10 TiB must fit inside $2,000/yr. request-rate: standard storage account limits (20,000 IOPS-class). retention: balance expires at the annual renewal date; 'Early consumption of the $2,000 balance does not trigger or permit early renewal'. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | s3-compatible, rclone, cli s3 |
| Tooling | Native Azure API, not S3: rclone backend 'azureblob' (Tier 1, chunked, server-side copy), AzCopy, Azure CLI, BlobFuse for POSIX. Azure does not expose an S3-compatible endpoint on Blob Storage. |
| Composes with | Renews annually at $2,000 ('All Azure Sponsorships renew at $2,000 USD per year'), so it is a recurring grant, not a trial — but the balance is annual, so the multiplier is $2,000 x years x number of verified nonprofit tenants. Renewal must be done manually in the Nonprofit Hub between 30 days before and the expiry date, or usage converts to pay-as-you-go against the stored payment instrument. |
| Reliability | Missing the renewal window silently converts the subscription to pay-as-you-go and starts charging the payment instrument on file — a real cost hazard, not a data-loss hazard. |
| Notes | $2,000 (USD) in donated Azure services credits per year, renewable. Not a byte quota — a credit grant usable against 'the complete portfolio of Azure products and cloud services', which includes Blob Storage / Data Lake Storage Gen2 / Azure Files. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.microsoft.com/en-us/nonprofits/azure | 'Leverage $2,000 (USD) Azure services credits per year and access the complete portfolio of Azure products and cloud services' |
| 2026-10-21 | learn.microsoft.com/en-us/industry/nonprofit/microsoft-for-n | 'All Azure Sponsorships renew at $2,000 USD per year'; renewal window and pay-as-you-go conversion rule |
| 2026-10-21 | withheld | unverified: I could not quote a per-GB rate to convert $2,000 into terabytes — azure.microsoft.com/en-us/pricing/details/storage/blobs/ rendered every price cell as '$-' (region/currency gated). Do not treat any TB conversion as verified. |
Unknown or withheld values (5)
$.evidence[2].urlprivate-url$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Microsoft Teams (free / personal) - Gallery & Media uploads Storage
caveatinstitutionno cardRper-object-capdisagrees
Sibling records disagree:
- verdict:
storage/microsoft-teamssays fails-quota, storage/microsoft-teams-gallery-media-uploads says qualifies-with-caveat - identity_kind:
storage/microsoft-teamssays email, storage/microsoft-teams-gallery-media-uploads says institution - verdict:
storage/microsoft-teams-freesays fails-quota, storage/microsoft-teams-gallery-media-uploads says qualifies-with-caveat - identity_kind:
storage/microsoft-teams-freesays email, storage/microsoft-teams-gallery-media-uploads says institution
| Free tier | 5 GB OneDrive-backed file storage per user, BUT images and videos uploaded via Gallery/Media are explicitly NOT stored in OneDrive and have no storage limit unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 100 MB per file (100000000 bytes) |
| Retention | not stated |
| Egress | Free; media served from Microsoft's CDN, chat-attached files via OneDrive share links |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: he media path has no documented retention guarantee and no API - it is UI-only, so it is a manual archive at best; the 5 GB OneDrive ceiling hits almost immediately. 5 GB x unlimited |
| Limits |
250 GB max per individual file in OneDrive (personal); 100 MB per file in the Teams channel Files UI; media path takes images/video only, no arbitrary binaries; chat history limits are separate from file limits |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest, graph rest |
| Tooling | No public Teams-free file API; attachments land in OneDrive, so Graph API against the backing OneDrive is the usable path. Wrapper-only for the media path. |
| Composes with | 5 GB x unlimited free Microsoft accounts (OneDrive-backed); separately the media path is per-record unlimited - 'share as many photos and videos as you want' - which is the interesting half: an image/video album with no byte cap, multiplied by unlimited free accounts. |
| Reliability | The media path has no documented retention guarantee and no API - it is UI-only, so it is a manual archive at best; the 5 GB OneDrive ceiling hits almost immediately. |
| Notes | 5 GB OneDrive-backed file storage per user, BUT images and videos uploaded via Gallery/Media are explicitly NOT stored in OneDrive and have no storage limit |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | support.microsoft.com/en-us/teams/free/troubleshoot/where-is | 'The amount of free storage... is 5 GB. Images and videos are not saved on OneDrive and don't have a storage limit. You can share as many photos and videos as you want.' |
| 2026-10-21 | www.microsoft.com/en-us/microsoft-teams/free | '5 GB of cloud storage per user' (free) vs '1 TB of cloud storage per user' (paid) |
| 2026-10-21 | learn.microsoft.com/en-us/microsoftteams/limits-specificatio | 'File upload limit (per file) | 250 GB'; SharePoint-backed 'Up to 25 TB per site or group' on licensed plans |
Unknown or withheld values (4)
$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
PlayFab Game Saves (Development Mode titles) Storage
caveatemail?card?Rper-object-cap
| Free tier | Per Development Mode title: Profile storage 2 GB, Content and configuration storage 2 GB, 5 GB UGC storage. 10 Development Mode titles per studio. Game Saves adds 256 MB per player per title. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | per-object-cap: 256 MB (256000000 bytes) |
| Retention | per-object-cap: 256 MB per player for Game Saves; request-rate: 100 service endpoint requests per 2-minute period per title player (≈10 uploads/min); 1,000 unique lifetime users per Development Mode title; per-object-cap on UGC requests tiered by request body size. Retention: none stated — data persists until deleted, no expiry clause found. |
| Egress | Billed by API request, not by byte, for the core services. Data Connections egress is metered (Same Region West US 2 = Free; Zone 1 intra-continental $0.02/GB). Development Mode: 'As long as your title is in Development Mode, consumption isn't counted towards any of your billable meters.' |
| Identity | email (placeholder) not published |
| Limits |
per-object-cap: 256 MB per player for Game Saves; request-rate: 100 service endpoint requests per 2-minute period per title player (≈10 uploads/min); 1,000 unique lifetime users per Development Mode title; per-object-cap on UGC requests tiered by request body size. Retention: none stated — data persists until deleted, no expiry clause found. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest, rclone rest |
| Tooling | PlayFab REST APIs (Client/Server/Admin/Entity), official C#/Unity/JS SDKs. No rclone backend; a wrapper is ~50 lines against https://<titleId>.playfabapi.com/. |
| Composes with | 4 GB (2 GB profile + 2 GB content) x 10 dev titles = 40 GB per studio, and studios are free and unlimited -> unbounded in aggregate. The sharper multiplier is Game Saves: 256 MB per player x 1,000 players per dev title = 256 GB per title x 10 titles = 2.5 TB per studio, and player identities are free to mint via LoginWithCustomID. |
| Reliability | Titles in Development Mode cannot add users past 1,000 and must be launched (moved to a paid plan) to scale; Game Saves quota overrun throttles writes rather than erroring. |
| Notes | Per Development Mode title: Profile storage 2 GB, Content and configuration storage 2 GB, 5 GB UGC storage. 10 Development Mode titles per studio. Game Saves adds 256 MB per player per title. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/gaming/playfab/player-progression/ | 'Title players are limited to 256MB of storage per title' and '100 service endpoint requests in any 2-minute period' (page ms.date 2025-06-24) |
| 2026-10-21 | learn.microsoft.com/en-us/gaming/playfab/features/pricing/de | limits table: 'Profile storage 2 gigabytes (GB)', 'Content and configuration storage 2 GB', 'Titles in Development Mode 10 Titles', 'Unique users 1000 users created' |
| 2026-10-21 | developer.microsoft.com/en-us/games/products/playfab/pricing | 'File Storage 5 GB $0.11 per additional GB' |
Unknown or withheld values (5)
$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted
Azure Cloud Shell Compute
trialcardcardphoneR
| Free tier | a cloud-hosted shell with a persistent Azure Files share, free with an Azure account unit GiB; metered on stored-bytes; the session times out after 20 minutes without interactive activity |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | the session times out after 20 minutes without interactive activity; the Azure Files share persists |
| Egress | not published |
| Identity | card an Azure account requires a card and a phone number |
| Limits | |
| Binding | |
| Interface | ssh the browser terminal, or the Azure CLI and the VS Code extension |
| Tooling | a shell with az, git and common runtimes; a mounted Azure Files share |
| Composes with | a persistent file share behind a 20-minute session timeout |
| Reliability | no reliability event recorded |
| Notes | It is one product and this is its record. |
| Evidence rung | reported re-read live on 2026-10-22 for the free-tier and limit figures |
| Checked | 2026-10-23 (live); stale on 2026-11-06 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-06 | learn.microsoft.com/en-us/azure/cloud-shell/overview | the session times out after 20 minutes without interactive activity; a persistent Azure Files share is mounted |
| 2026-10-22 | learn.microsoft.com/en-us/azure/cloud-shell/overview | read live: 20-minute idle timeout; Azure Files share mounted |
More fields (9)
{
"shape": null,
"billing_model": "flat-pool",
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": 1200,
"restart_required": false,
"note": "20 minutes without interactive activity"
},
"keep_rate": {
"value": 0.0,
"basis": "free with the account",
"source": "https://learn.microsoft.com/en-us/azure/cloud-shell/overview"
},
"persistent_storage": {
"included_gib": 5,
"price_gib_month": "an Azure Files share is billed separately once past the free grant",
"durability": "Azure Files",
"survives_stop": true,
"survives_destroy": true,
"max_retention": "while the storage account exists"
},
"network_out": {
"allow_outbound": true,
"allow_inbound_listen": false,
"ports": "none",
"static_ip": false,
"ipv6": null,
"per_session_bytes": null
},
"free_tier_kind": "allowance",
"census_rows": [
"azure-cloud-shell",
"microsoft-azure-cloud-shell"
],
"slug_merge": "microsoft-azure-cloud-shell is the same product under a renamed slug"
}Unknown or withheld values (5)
$.egress.meteredegress-unknown$.limits_notewithheld$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed
Microsoft Azure Free Account Compute
trialcardcardphoneDretention-clamped
| Free tier | USD 200 of credit for 30 days plus 750 hours each of B1s, B2pts v2 and B2ats v2 burstable VMs for 12 months unit hours; metered on wall-clock; the VM hours are 12 months for new customers; the credit is 30 days |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | 12 months for the VM hours; the USD 200 credit expires after 30 days (365 days) |
| Egress | not part of the free-account terms read; standard egress applies past any allowance |
| Identity | card a card and a phone number are required for identity verification, quoted |
| Limits |
a USD 1 authorisation hold is placed at signup and removed |
| Binding | retention-clamped the 12-month window ends the 750 hours, so the clock is the constraint |
| Interface | ssh the Azure portal, CLI and ARM API; SSH keys set at VM creation |
| Tooling | az CLI, the ARM and Bicep templates, the SDKs |
| Composes with | 12 months of a burstable VM and then a pay-as-you-go bill |
| Reliability | no reliability event recorded |
| Notes | Twelve months is longer than AWS's six and it is still a trial. The 65 or more always-free services on the same page are the durable ones, and the VM hours are not among them. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | azure.microsoft.com/en-us/free/ | 750 hours each of B1s, B2pts v2 (Arm) and B2ats v2 (AMD) burstable VMs for 12 months |
| 2026-10-22 | azure.microsoft.com/en-us/free/ | a USD 200 credit usable for 30 days; a USD 1 temporary authorisation hold at signup |
| 2026-10-22 | azure.microsoft.com/en-us/free/ | the phone number and card are used for identity verification to validate that account holders are real people |
More fields (8)
{
"shape": null,
"billing_model": "allocated",
"session_cap": null,
"keep_rate": {
"value": 1.0,
"basis": "a running VM bills its hours against the 750",
"source": "https://azure.microsoft.com/en-us/free/"
},
"persistent_storage": null,
"network_out": {
"allow_outbound": true,
"allow_inbound_listen": true,
"ports": "all through a network security group",
"static_ip": true,
"ipv6": true,
"per_session_bytes": null
},
"free_tier_kind": "one-time-credit",
"census_rows": [
"azure-free-account"
]
}Unknown or withheld values (3)
$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed
Windows 365 Cloud PC (Business / Enterprise) Compute
trialemail?card?Drequest-rate
| Free tier | no free tier: Windows 365 Business is a monthly subscription from a 2 vCPU, 8 GB and 128 GB configuration upward, with a time-limited free trial unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
not stated |
| Binding | request-rate |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | documented the plan comparison was read on 2026-10-22 and states the monthly subscription model across the ladder with a separate trial. There is no free tier, so the verdict moves to trial-only and the shape ladder is recorded |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | www.microsoft.com/en-us/windows-365/business/compare-plans-p | not published |
| 2026-10-22 | www.microsoft.com/en-us/windows-365/business/compare-plans-p | 'Windows 365 Business 2 vCPU, 8 GB, 128 GB (Monthly subscription - auto renews)' with '[Try for free]' and 'See trial terms', and the ladder to 'Windows 365 Business 8 vCPU, 32 GB, 256 GB', quoted |
More fields (15)
{
"talaria_m10h_usd": 14.79,
"talaria_m24h_usd": 35.51,
"nemo_m10h_usd": null,
"keep_rate": 1.0,
"keep_rate_basis": "always-on by contract",
"billing_model": "unclassified",
"shape": {
"vcpu": 2,
"ram": 8,
"disk": 128,
"gpu_class": null,
"gpu_count": null,
"note": "the entry Cloud PC; the top of the ladder is 8 vCPU, 32 GB and 256 GB"
},
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "a Cloud PC is a persistent desktop for the subscription term; the trial is the only clock"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "trial",
"granularity": {
"min_billed_s": 0,
"rounding_s": null
},
"ps": {
"gib": 128,
"price": "included in the subscription",
"durability": "persistent Cloud PC disk",
"on_stop": true,
"on_destroy": false,
"retention": "the subscription term"
},
"net": {
"out": true,
"in": true,
"ports": "a managed desktop, reached through the Windows App",
"static_ip": false,
"ipv6": null,
"allowance": null
}
}Unknown or withheld values (16)
$.chainingnot-stated$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.price_noteprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_notenot-stated$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Microsoft Azure free account Egress and tunnels
trialcardcardphoneDvolume-quota
| Free tier | If you sign up for an Azure free account, you'll get a $200 credit that you can apply to try services that aren't in the free list, or to use more than your free amounts of any services. You have up to 30 days to use your credit. unit mixed; metered on downloaded-bytes |
|---|---|
| Price | USD 200 of credit |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | $200 of credit at $0.087 per GB after the first 100 GB a month, so 2.18 TiB inside the 30-day credit window; ingress: udp free_allowance: $200 of credit at $0.087 per GB after the first 100 GB a month, so 2.18 TiB inside the 30-day credit window |
| Identity | card All you need is a phone number, a credit card or a debit card (non-prepaid), and a Microsoft account or a GitHub account. We don't charge your credit card or debit card anything when you sign up for Azure, but you may see a one-dollar (or equivalent) verification hold. |
| Limits |
|
| Binding | volume-quota the credit is a total byte allowance that dies at 30 days. At 1 TiB a month it carries 2.18 TiB in that one month, so the credit itself is not the binding number; the 30-day expiry ends the arrangement while credit is still nominally available, because the second month does not exist. |
| Interface | cli, rest Azure CLI and the Azure Resource Manager REST API |
| Tooling | wg-quick on the VM; Azure CLI or the portal for the NIC and network security group |
| Composes with | an Azure VM as the WireGuard endpoint for one month, then the arrangement ends; it does not chain into a second month without a paid subscription |
| Reliability | the free account must move to pay-as-you-go within 30 days or when the credit is used up, whichever is first, or free services stop |
| Notes | Arithmetic: $200 over $0.087 a GB is 2,298.9 GB, plus the 100 GB free each month = 2,398.9 GB = 2.40 TB = 2.18 TiB, all inside a 30-day window. That clears 1 TiB a month for exactly one month. The wider offer also carries 12 months of free monthly amounts of selected services and 65 or more always-free services, but the 100 GB a month egress line is the only one that touches this test and it is an order of magnitude short of 1 TiB. Candidates considered: routing preference transit ISP at $0.08 per GB, which buys 2,599 GB = 2.36 TiB instead of 2.18, a 8 percent change that does not move the verdict. |
| Evidence rung | documented a probe would confirm that a fresh free account reaches 1 TiB in 30 days without a subscription limit firing first |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | azure.microsoft.com/en-us/free/ | 'you'll get a $200 credit ... You have up to 30 days to use your credit' and 'All you need is a phone number, a credit card or a debit card (non-prepaid)' |
| 2026-10-23 | azure.microsoft.com/en-us/pricing/details/bandwidth/ | 'Internet Egress ... First 100 GB/Month Free', 'Next 10 TB/Month $0.087 per GB' from North America and Europe; 'Data Transfer In Free'; 'Azure already offers the first 100 GB/month of egressed data for free to all customers in all Azure regions around the world' |
| 2026-10-23 | learn.microsoft.com/en-us/azure/virtual-network/network-secu | a network security group rule's protocol field accepts UDP, so UDP ingress is expressible and 51820 is not special |
More fields (7)
{
"wg_path": "native-conf",
"wg_detail": "a full Azure VM with a public IP; wg-quick binds UDP directly, with no Azure-side listener in the path",
"ingress": "udp",
"volume_tib_month": 2.18,
"volume_stated": "$200 of credit at $0.087 per GB after the first 100 GB a month, so 2.18 TiB inside the 30-day credit window",
"bytes_transit": "yes",
"transit_note": "the VM's outbound bytes cross Microsoft's network and are metered as internet egress after 100 GB a month"
}Unknown or withheld values (2)
$.per_object_cap.statednot-applicable$.retention.statednot-applicable
Microsoft Fabric trial capacity / OneLake Storage
trialcard?cardR
| Free tier | 1 TB of data in OneLake, free for 60 days. unit TB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Not separately metered during trial; capacity is F4 or F64 SKU consumption. |
| Identity | card (placeholder) inferred from the category 'iaas'; the source record states no identity cost, so this is a class assumption, not evidence |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | rest, rclone rest |
| Tooling | Genuinely excellent interface: OneLake speaks the ADLS Gen2 DFS API and the Blob API - https://onelake.dfs.fabric.microsoft.com/<workspace>/<item>.<type>/<path>, plus an ABFS driver URI. Any Azure Storage SDK or rclone 'azureblob' remote can talk to it. 1 TB beats most free tiers on volume. |
| Composes with | Trials are per-user/per-tenant, so theoretically N accounts x 1 TB x 60 days - but the trial expires and the data does not survive usefully. |
| Reliability | Hard 60-day expiry with a 7-day grace window - this is a trial, not storage. Fine for a one-off bulk ingest/egress burst, useless for a 20 TB archive. |
| Notes | 1 TB of data in OneLake, free for 60 days. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/fabric/fundamentals/fabric-trial | 'free access for 60 days'; 'Store up to 1 TB of data in OneLake'; 'All content remains stored in OneLake for 7 days' |
| 2026-10-21 | learn.microsoft.com/en-us/fabric/onelake/onelake-access-api | 'OneLake provides open access to all of your Fabric items through existing Azure Data Lake Storage (ADLS) and Blob APIs'; 'https://onelake.dfs.fabric.microsoft.com/<workspace>/<item>.<itemtype>/<path>/<fileName>' |
| 2026-10-21 | onelake.dfs.fabric.microsoft.com/test?resource=filesystem | probe: curl -> HTTP 401 {"error":{"code":"Unauthorized","message":"Authentication Failed with Bearer token is not present in the request"}} (endpoint live, needs Entra token; no anonymous access) |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "1 TB of data in OneLake, free for 60 days.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (7)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Microsoft Dev Box (closed to new customers; retiring 2028-09-18) Compute
paidemail?card?Dwrite-gated
| Free tier | not stated unit none; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
excluded as too-big |
| Binding | write-gated |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Notes | dead is reserved for a product that is withdrawn or unreachable. |
| Evidence rung | documented the Dev Box product page was read on 2026-10-22. It offers no free dev box and points at the 30-day Azure free trial instead, which confirms the record's paid-only verdict |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | azure.microsoft.com/en-us/products/dev-box/ | not published |
| 2026-10-22 | azure.microsoft.com/en-us/products/dev-box/ | 'Pay as you go or try Azure free for up to 30 days' and 'Spin up a dev box on demand from a tailored, easy-to-use cloud developer portal'; the page publishes no free dev box |
More fields (14)
{
"talaria_m10h_usd": null,
"talaria_m24h_usd": null,
"nemo_m10h_usd": null,
"keep_rate": null,
"keep_rate_basis": "no field in the source",
"billing_model": "unclassified",
"shape": null,
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "a dev box has a built-in hibernate-on-disconnect schedule that the client sets; the page states no vendor-imposed reap"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "none",
"reclassified_from": "dead",
"net": null
}Unknown or withheld values (17)
$.chainingnot-stated$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.price_noteprocess$.free_tier.noteswithheld$.free_tier.statednot-stated$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Windows 365 for Agents Compute
paidemail?card?Drequest-rate
| Free tier | no free tier: $0.40 an hour per Cloud PC on consumption, plus an optional $5 a month per Cloud PC to keep it instantly available unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | not stated |
| Identity | email (placeholder) not published |
| Limits |
excluded as too-big |
| Binding | request-rate |
| Interface | unknown |
| Tooling | not stated |
| Composes with | not stated |
| Reliability | no reliability event recorded |
| Evidence rung | documented the pricing page was read on 2026-10-22 and states both the consumption rate and the always-available add-on. There is no free tier, so the verdict moves to paid-only, and the add-on is the state answer: $5 a month buys availability rather than compute |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-02 | learn.microsoft.com/en-us/windows-365/agents/pricing-paygo-a | not published |
| 2026-10-22 | learn.microsoft.com/en-us/windows-365/agents/pricing-paygo-a | 'Windows 365 for Agents offers a pay-as-you-go pricing model with an optional monthly add-on for instant Cloud PC availability' with 'always-available Cloud PCs are billed at a fixed amount of $5 per Cloud PC per month' and '$0.40 per hour for consumption', quoted |
More fields (14)
{
"talaria_m10h_usd": null,
"talaria_m24h_usd": null,
"nemo_m10h_usd": null,
"keep_rate": null,
"keep_rate_basis": "no field in the source",
"billing_model": "unclassified",
"shape": null,
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "the $5 a month add-on is exactly the cost of not being reaped: it keeps a Cloud PC instantly available"
},
"persistent_storage": null,
"network_out": null,
"price_note": null,
"free_tier_kind": "none",
"ps": {
"gib": null,
"price": "the Cloud PC's own disk, part of the configuration",
"durability": "persistent Cloud PC",
"on_stop": true,
"on_destroy": false,
"retention": "the subscription term"
},
"net": {
"out": true,
"in": true,
"ports": "a managed desktop",
"static_ip": false,
"ipv6": null,
"allowance": null
}
}Unknown or withheld values (15)
$.chainingnot-stated$.egress.meteredegress-unknown$.egress.termsnot-stated$.evidence[0].provedprocess$.extras.price_noteprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.per_object_cap.notesprocess$.per_object_cap.statednot-stated$.reliability_notenone-observed$.retention.notesnot-extracted$.retention.statednot-stated$.toolingnot-stated
Azure Compute
fails: identityinstitutionno cardDvolume-quota
| Free tier | Quoted: 'Free monthly amounts of 20+ popular services for 12 months (new Azure customers only)', 'Free monthly amounts of 65+ always-free services', 'Access to full catalog of services up to free amounts and $100 credit'. The compute line is '750 hours each of B1s, B2pts v2 (Arm-based), and B2ats v2 (AMD-based) burstable VMs'. Other compute lines: '720 vCore hours of 4-vCore or 8-vCore General Purpose instance', '100,000 vCore seconds of SQL database serverless usage per month', 'Azure Container Registry 1 Standard tier registry with 100 GB storage'. unit hours; metered on wall-clock; recurring-credit |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | institution a school email address and full-time enrollment at an accredited, degree-granting institution: the FAQ requires that you 'verify your academic status through your organization's email address', the offer page says 'Use your school email to sign up', and there is 'a limit of one account per person'. The record's notes state the vendor page says 'No credit card required' repeatedly, so no card and no hold; debit and prepaid acceptance are not stated, and a Microsoft Q&A answer reports no document-based fallback is guaranteed. |
| Limits |
The 750-hour monthly VM allowance requires an institution-issued email address, and the credit is only USD 100 per 12 months, so the identity gate fails before the quota is ever reachable. |
| Binding | volume-quota The 750-hour monthly VM allowance requires an institution-issued email address, and the credit is only USD 100 per 12 months, so the identity gate fails before the quota is ever reachable. |
| Interface | unknown inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | The only compute-bearing student grant from a tier-one cloud found in this class, and the one whose 750-hour monthly VM line would matter most if the identity gate were passable; the GitHub Student Pack routes to this same offer, so the two do not compose but duplicate one gate. |
| Reliability | no reliability event recorded |
| Notes | This corrects the compute angle of dossier/storage/azure-for-students.json, which recorded identity_cost as 'card' and verdict qualifies-with-caveat. The vendor page states 'No credit card required' repeatedly, so 'card' is wrong, and the vendor FAQ names the institution email as the verification method, which makes the real constraint institution and the verdict fails-identity. The storage record's reading of the USD 100 as storage capacity is also secondary to the 750-hour VM line, which is the larger compute allowance. Note the allowance is 12 months for new Azure customers and the $100 renews annually only while student status holds. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | learn.microsoft.com/en-us/azure/education-hub/faq | Eligibility requires: 'You must affirm that you attend an accredited, degree-granting, two-year or four-year educational institution where you're a full-time student' and 'You must verify your academic status through your organization's email address.' |
| 2026-10-22 | azure.microsoft.com/en-us/free/students | 'Use your school email to sign up and renew yearly while you're a student'; 'Available only to full-time university students'; '750 hours each of B1s, B2pts v2 (Arm-based), and B2ats v2 (AMD-based) burstable VMs'; '$100 credit, which can be used within 12 months'. |
| 2026-10-22 | azure.microsoft.com/en-us/free/students | On exhausting the credit: 'If you don't, your subscription and products will be disabled', and 'There is a limit of one account per person'. |
| 2026-10-22 | learn.microsoft.com/en-us/answers/questions/5606844/how-to-p | Reported by a Microsoft Q&A respondent: 'Without an email address from your collage/university, you will not be able to sign up for the Azure Student subscription'; the institution email is the standard flow and document-based fallback is not guaranteed. |
More fields (1)
{
"wave2": {
"class": "student-pack",
"free_tier_kind": "recurring-credit",
"shape": {
"vcpu": 1,
"ram_gib": 1,
"gpu_class": null,
"gpu_count": 0
}
}
}Unknown or withheld values (9)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.interfaceinterface-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Azure Research Credits Compute
fails: identityinstitutionno cardDwrite-gated
| Free tier | The vendor page offers no amount at all. It advertises 'Azure Research Credits' for 'a proof of concept, migrate existing research workloads and datasets to the cloud, or build tools to facilitate research', and the only route is a contact form whose required fields are 'Email*(Must be a work or school email alias)', 'Institution Name*' and 'Job Role*'. The award, its size and its expiry are all decided after that conversation, so no number exists to record. unit none; metered on wall-clock; one-time-credit |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | institution not published |
| Limits |
the entry form rejects a personal address by rule - 'Must be a work or school email alias' - and requires an institution name, so an unaffiliated applicant cannot open the conversation. |
| Binding | write-gated the entry form rejects a personal address by rule - 'Must be a work or school email alias' - and requires an institution name, so an unaffiliated applicant cannot open the conversation. |
| Interface | unknown inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | None reachable. Because the amount is negotiated rather than published, there is nothing to compose and nothing to plan against. |
| Reliability | no reliability event recorded |
| Notes | Recorded as the negative half of Azure's academic lane, and specifically because it publishes no number: a reader who hears 'Azure research credits' and finds this page learns only that a conversation exists. The adjacent Azure lanes are worse for a user, not better: AFMR granted 'up to $20,000 in Azure credits' through a university call that closed in January 2024, and the Azure-for-nonprofits grant is USD 2,000 a year but needs nonprofit status. The one Azure program that names individual researchers - AI for Good - is separate in this file and fails on a Washington State condition instead. So all four Azure academic routes close, on three different conditions. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | www.microsoft.com/en-us/azure-academic-research/ | the form's required fields, quoted: 'Email*(Must be a work or school email alias)', 'Institution Name*', 'Job Role*', 'Area of Research*'; no credit amount, no cap and no expiry appears anywhere on the page; page 200 |
| 2026-10-22 | www.microsoft.com/en-us/azure-academic-research/ | 'Create a proof of concept, migrate existing research workloads and datasets to the cloud, or build tools to facilitate research with Azure Research Credits', quoted; and 'A member of our team will contact you to continue the process together' |
More fields (1)
{
"wave2": {
"class": "research-credit",
"free_tier_kind": "one-time-credit",
"shape": {
"vcpu": null,
"ram_gib": null,
"gpu_class": null,
"gpu_count": null
}
}
}Unknown or withheld values (10)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.identity_cost.detailprocess$.interfaceinterface-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Microsoft AI Compute
fails: identityemailno cardDwrite-gated
| Free tier | 'a total of $5 million in Azure service credits' across a 'two-year program', with 'scientific collaboration with the Microsoft AI for Good Lab'. Eligibility is broad on identity and narrow on place: 'entities and/or projects must be based in or benefit Washington State and its residents. Eligible entities include nonprofits, academic institutions, individual researchers, startups, and businesses'. unit none; metered on wall-clock; one-time-credit |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | email not published |
| Limits |
the geographic condition - based in or benefiting Washington State - is the failure, not the identity: an applicant outside Washington cannot meet it however strong the project. |
| Binding | write-gated the geographic condition - based in or benefiting Washington State - is the failure, not the identity: an applicant outside Washington cannot meet it however strong the project. |
| Interface | rest inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | Azure credits compose with nothing in the TPU class and only weakly with the rest, because the credits buy Azure list-price capacity rather than a quota. |
| Reliability | no reliability event recorded |
| Notes | The one Microsoft program found that names 'individual researchers' as an eligible entity, which is exactly why the location clause matters: the door is open to an individual and shut to anyone outside Washington State. A per-award figure of about USD 250,000 is inferred from USD 5,000,000 split across 'about 20 projects' in a press account, and is reported as an estimate, not as a published amount. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | www.microsoft.com/en-us/research/academic-program/ai-for-goo | 'a total of $5 million in Azure service credits'; 'entities and/or projects must be based in or benefit Washington State and its residents'; 'Eligible entities include nonprofits, academic institutions, individual researchers, startups, and businesses'; quoted; page 200 |
| 2026-10-22 | www.geekwire.com/2025/microsoft-launches-5m-grant-program-fo | 'the pool of $5 million in Azure credits will probably be split up among about 20 projects and organizations', and the 2025 round closed on Feb. 17 - a press account, so the per-award figure is an estimate rather than a vendor number [re-read 2026-10-22] |
More fields (1)
{
"wave2": {
"class": "research-credit",
"free_tier_kind": "one-time-credit",
"shape": {
"vcpu": null,
"ram_gib": null,
"gpu_class": null,
"gpu_count": null
}
}
}Unknown or withheld values (9)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.identity_cost.detailprocess$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Microsoft Azure credits Compute
fails: identityinstitutionno cardDwrite-gated
| Free tier | Quoted: 'Many Microsoft product teams grant Azure credits to open source communities to support their work', but 'Microsoft is not accepting new applications from projects directly and is instead relying on strategic, organic relationships between Microsoft businesses and the open source that they depend on', and 'The application form is not currently open'. unit none; metered on wall-clock; none |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | institution not published |
| Limits |
There is no application route at all: an award now depends on a Microsoft product team choosing a project it already depends on, which no individual can initiate. |
| Binding | write-gated There is no application route at all: an award now depends on a Microsoft product team choosing a project it already depends on, which no individual can initiate. |
| Interface | unknown inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | This closes the Microsoft lane for an individual and leaves GitHub as the only Microsoft-owned route that still takes applications, which is why the GitHub Secure Open Source Fund record carries the Azure credits instead. |
| Reliability | no reliability event recorded |
| Notes | Recorded as fails-identity rather than dead because grants are still being issued: the programme changed from an open form to relationship-based allocation, and a reader who finds only the 2021 blog post will believe the form is open. That divergence between a 2021 announcement and the 2026 landing page is the finding. Microsoft's FOSS Fund, named on the same page, is an internal employee-directed fund and has no external application. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | opensource.microsoft.com/azure-credits/ | quoted the closed-application sentences, 'The application form is not currently open', and 'Most grants span a single Microsoft fiscal year' |
| 2026-10-22 | opensource.microsoft.com/blog/2021/09/28/announcing-azure-cr | the original 2021 announcement, which stated that any project with an OSI-approved licence was eligible to apply; that open route no longer exists, which is the change worth recording [date precision: month, 2021-09] |
| 2026-10-22 | opensource.microsoft.com/blog/2024/11/12/whats-new-with-micr | reported that Azure credits now flow to CNCF and its hosted projects rather than to individual applicants [date precision: day, 2024-11-12] |
More fields (1)
{
"wave2": {
"class": "vendor-oss-credits",
"free_tier_kind": "none",
"shape": null
}
}Unknown or withheld values (10)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.identity_cost.detailprocess$.interfaceinterface-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Microsoft Learn Student Compute
fails: identityinstitutionno cardDwrite-gated
| Free tier | Quoted: 'Complete the registration activities, receive your invitation, and onboard as a new member of the Student Ambassadors program. Unlock program benefits, including Microsoft 365, Visual Studio Enterprise, $150 USD monthly Azure credits, badges, swag, and more.' Registration is 'Open to students across all degree fields and levels, including those attending 2- or 4-year universities and studying part-time or full-time', and 'No application required'. unit none; metered on wall-clock; recurring-credit |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | not stated |
| Identity | institution not published |
| Limits |
USD 150 a month of Azure credit is the largest recurring student compute grant found in this class, but it needs full-time enrollment plus an Azure for Students account, and the credit arrives only after onboarding activities are reviewed. |
| Binding | write-gated USD 150 a month of Azure credit is the largest recurring student compute grant found in this class, but it needs full-time enrollment plus an Azure for Students account, and the credit arrives only after onboarding activities are reviewed. |
| Interface | unknown inferred from the tooling the provider documents; not probed |
| Tooling | not stated |
| Composes with | This is the multiplier in a chain that does not open for a user: USD 150 a month is 18 times the Azure for Students base credit and renews monthly rather than yearly, so if the identity gate were passable the yearly value would be USD 1,800 of Azure compute against USD 100. |
| Reliability | no reliability event recorded |
| Notes | Two Microsoft pages disagree on the figure. The official program FAQ says only 'monthly Azure credits' with no amount, while the Microsoft Learn student-hub page states '$150 USD monthly Azure credits'. The figure is recorded from the page that states it, at documented rung, and the absence of the number on the FAQ is noted rather than smoothed over. The FAQ also names an Azure for Students account as a prerequisite, which the Learn page does not mention; taking both, the gate is full-time enrollment at two points. The Learn page says part-time study qualifies, the FAQ says full-time; where they conflict, full-time is the reading that binds. Regional exclusions named on the FAQ are Cuba, Iran, North Korea, Sudan, Syria, Russia, Belarus and Crimea. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | learn.microsoft.com/en-us/training/student-hub/become-a-stud | 'Unlock program benefits, including Microsoft 365, Visual Studio Enterprise, $150 USD monthly Azure credits, badges, swag, and more'; registration is open to students 'studying part-time or full-time' and requires 'no application'. |
| 2026-10-22 | mvp.microsoft.com/en-us/faq | Eligibility is: '(a.) be at least 18 years old at time of registration, (b.) be enrolled full-time in an accredited academic institution (e.g., college, university), (c.) be an Azure for Students account holder'; onboarded ambassadors 'receive Office 365, Visual Studio Enterprise, and monthly Azure credits'. |
More fields (1)
{
"wave2": {
"class": "student-pack",
"free_tier_kind": "recurring-credit",
"shape": null
}
}Unknown or withheld values (10)
$.egress.meteredegress-unknown$.egress.termsnot-stated$.identity_cost.detailprocess$.interfaceinterface-unknown$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed$.retention.notesprocess$.retention.statednot-applicable$.toolingnot-stated
Azure for Students Egress and tunnels
fails: identityinstitutionno cardDvolume-quota
| Free tier | Access to full catalog of services up to free amounts and $100 credit unit mixed; metered on downloaded-bytes |
|---|---|
| Price | USD 100 of credit |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | $100 of credit at $0.087 per GB is 1.04 TiB, plus 100 GB a month free, so about 0.18 TiB a month across a 12-month renewal; ingress: udp free_allowance: $100 of credit at $0.087 per GB is 1.04 TiB, plus 100 GB a month free, so about 0.18 TiB a month across a 12-month renewal |
| Identity | institution Available only to full-time university students. Use your school email to sign up and renew yearly while you're a student. |
| Limits | |
| Binding | volume-quota two constraints fail before any byte moves: the school email gate, which for a user does not have, and then $100 of credit, which at 1 TiB a month lasts 31 days. The identity gate fails first of all. |
| Interface | cli, rest Azure CLI and the Azure Resource Manager REST API |
| Tooling | wg-quick on the VM; Azure CLI |
| Composes with | no chain: the client has no institution to verify against, so this credit cannot enter the stack |
| Reliability | the subscription must be renewed annually while enrolled or the free amounts stop |
| Notes | Arithmetic: $100 over $0.087 a GB is 1,149.4 GB = 1.15 TB = 1.04 TiB, which spread across the 12 months the offer runs is 0.087 TiB a month, plus the 100 GB a month free egress at 0.091 TiB, so about 0.18 TiB a month. The no-card detail is real and is the only free-VM route that asks for no payment method, which is why it is recorded rather than dropped it still needs an institution. Candidates considered: Azure for Students Starter, which the same page offers and which carries no credit at all. |
| Evidence rung | documented nothing to raise: the eligibility sentence is unambiguous and excludes the client on its face |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | azure.microsoft.com/en-us/free/students/ | 'Available only to full-time university students', 'No credit card required', 'Access to full catalog of services up to free amounts and $100 credit' |
| 2026-10-23 | azure.microsoft.com/en-us/pricing/details/bandwidth/ | 'First 100 GB/Month Free' then '$0.087 per GB', the rate the $100 is spent against |
More fields (7)
{
"wg_path": "native-conf",
"wg_detail": "the same Azure VM and the same public IP as the paid offer, so wg-quick is native",
"ingress": "udp",
"volume_tib_month": 0.18,
"volume_stated": "$100 of credit at $0.087 per GB is 1.04 TiB, plus 100 GB a month free, so about 0.18 TiB a month across a 12-month renewal",
"bytes_transit": "yes",
"transit_note": "the same Microsoft network and the same 100 GB a month free egress line as the paid account"
}Unknown or withheld values (2)
$.per_object_cap.statednot-applicable$.retention.statednot-applicable
azure blob storage 'always free' 5 gb Storage
fails: identityemail?card?R
| Free tier | 5 GB per subscription with card verification, and the grant is labelled 12 months on the free-services page. Egress is metered at $0.087/GB after the first 100 GB/month, which alone kills th unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none the quota is real and unreachable: identity is the binding constraint, and it is not one of the six limits kinds |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 5 GB per subscription with card verification, and the grant is labelled 12 months on the free-services page. Egress is metered at $0.087/GB after the first 100 GB/month, which alone kills th |
| Notes | 5 GB per subscription with card verification, and the grant is labelled 12 months on the free-services page. Egress is metered at $0.087/GB after the first 100 GB/month, which alone kills th |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-gb/pricing/free-services | 5 GB per subscription with card verification, and the grant is labelled 12 months on the free-services page. Egress is metered at $0.087/GB after the first 100 GB/month, which alone kills th |
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/bandwidth/ | cited as the basis of the rejection: 5 GB per subscription with card verification, and the grant is labelled 12 months on the free-services page. Egress is metered at $0.087/GB after the first 100 GB/month, which alone kills th |
More fields (1)
{
"dead_end": {
"failure_class": "identity",
"why": "5 GB per subscription with card verification, and the grant is labelled 12 months on the free-services page. Egress is metered at $0.087/GB after the first 100 GB/month, which alone kills th",
"retry_when": "if the registration gate opens to a foreign individual",
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (14)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
Azure DDoS Protection Egress and tunnels
fails: egresscardcardDwrite-gated
| Free tier | No free tier and no forwarding: the service is enabled on an Azure virtual network and protects the public IPs of resources inside it. unit none; metered on none |
|---|---|
| Price | unpublished |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | No volume allowance applies: the product is a mitigation policy on the client's own Azure public IP, not a proxy with a traffic allowance.; ingress: none free_allowance: none published |
| Identity | card An Azure subscription with a virtual network and a public IP inside it. |
| Limits |
|
| Binding | write-gated It cannot be the ingress for a service outside Azure at any volume, so 1 TiB/month never becomes the constraint. |
| Interface | rest, cli a DDoS protection plan attached to a virtual network, or per-public-IP protection |
| Tooling | Azure portal, CLI or ARM/Bicep |
| Composes with | chains with an Azure VM, which already has the public IP being protected |
| Reliability | none recorded |
| Notes | Listed by the brief as an L4 candidate. It is mitigation on an address the client already owns in Azure, which is the opposite of the Spectrum shape: no vendor address, no origin mapping, no port forwarding. |
| Evidence rung | documented The virtual-network scoping and the TCP and UDP mitigation policies are quoted from the page read today. What it does not do is stated by what it protects, not by an explicit denial. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | learn.microsoft.com/en-us/azure/ddos-protection/ddos-protect | It's automatically tuned to help protect your specific Azure resources in a virtual network. |
| 2026-10-23 | learn.microsoft.com/en-us/azure/ddos-protection/ddos-protect | Azure DDoS Protection applies three auto-tuned mitigation policies (TCP SYN, TCP, and UDP) for each public IP of the protected resource, in the virtual network that has DDoS enabled. |
More fields (7)
{
"wg_path": "none",
"wg_detail": "It filters traffic addressed to an Azure public IP; it does not issue an address that forwards to an origin the client names.",
"ingress": "none",
"volume_tib_month": null,
"volume_stated": "No volume allowance applies: the product is a mitigation policy on the client's own Azure public IP, not a proxy with a traffic allowance.",
"bytes_transit": "no",
"transit_note": "traffic goes for a user's own Azure public IP; nothing is forwarded on the client's behalf"
}Unknown or withheld values (2)
$.per_object_cap.statednot-applicable$.retention.statednot-applicable
Azure Front Door Egress and tunnels
fails: egresscardcardIwrite-gated
| Free tier | No free tier for the L4 question: Front Door terminates SSL at the edge and only supports HTTP/1.1 from the edge to the origin. unit none; metered on none |
|---|---|
| Price | unverified (base and data rates not read) |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | No UDP allowance exists. The product is billed per request and per GB of HTTP(S) delivery, with no L4 forwarding at any price.; ingress: http-only free_allowance: none published |
| Identity | card An Azure subscription with billing enabled. |
| Limits |
|
| Binding | write-gated Volume never becomes the question: the service cannot forward UDP at any tier, so 1 TiB/month of UDP has no path through it. |
| Interface | rest, cli profiles, endpoints, routes and origin groups over HTTP and HTTPS |
| Tooling | Azure portal, CLI or ARM/Bicep |
| Composes with | chains with HTTP origins only; it cannot expose a WireGuard or game UDP endpoint |
| Reliability | none recorded |
| Notes | Included because the brief names it. Every capability on the overview page is HTTP: caching, SSL offload, HTTP/2, rules engine. No L4 listener exists in the model. |
| Evidence rung | inferred No Front Door page read today states a UDP forwarding feature, and the origin leg is documented as HTTP/1.1 only. Confirming the negative needs the Front Door 'supported protocols' reference, which was not read. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | learn.microsoft.com/en-us/azure/frontdoor/front-door-faq | Currently, Azure Front Door only supports HTTP/1.1 from the edge to the origin. |
| 2026-10-23 | learn.microsoft.com/en-us/azure/frontdoor/front-door-overvie | Accelerate application performance using the Azure Front Door unicast network and split TCP connections; terminate SSL offload at the edge and natively support the HTTP/2 protocol |
More fields (7)
{
"wg_path": "none",
"wg_detail": "There is no UDP forwarding to configure, so no WireGuard datagram can be carried.",
"ingress": "http-only",
"volume_tib_month": null,
"volume_stated": "No UDP allowance exists. The product is billed per request and per GB of HTTP(S) delivery, with no L4 forwarding at any price.",
"bytes_transit": "yes",
"transit_note": "HTTP bytes only; UDP is not carried"
}Unknown or withheld values (2)
$.per_object_cap.statednot-applicable$.retention.statednot-applicable
Microsoft Dev Tunnels Egress and tunnels
fails: quotaemailno cardDvolume-quota
| Free tier | Free with an account; the Dev tunnels limits table sets 5 GB of bandwidth per user, reset monthly. unit GB; metered on downloaded-bytes |
|---|---|
| Price | USD 0 |
| Per-object cap | not applicable |
| Retention | not applicable |
| Egress | 5 GB per user per month, stated in the Dev tunnels limits table; the same table caps a tunnel at 20 MB/s, 10 tunnels per user and 1500 HTTP requests per minute per port.; ingress: tcp free_allowance: 5 GB per user per month, stated in the Dev tunnels limits table; the same table caps a tunnel at 20 MB/s, 10 tunnels per user and 1500 HTTP requests per minute per port. |
| Identity | email 'All creation of dev tunnels requires either a Microsoft Entra ID, Microsoft, or GitHub account.' |
| Limits | |
| Binding | volume-quota 5 GB is 0.0045 TiB, so the byte allowance fails about 220 times before 1 TiB/month. Ports are TCP, with UDP hedged as 'may also be supported', so a WireGuard peer has no reliable path. |
| Interface | cli devtunnel CLI. |
| Tooling | devtunnel CLI, VS Code and Visual Studio integration. |
| Composes with | Free TCP ingress for a free VM, with no card and no published cap. |
| Reliability | Designed for development traffic; the aggregator records that visitors see warnings on the URLs. |
| Notes | Corrected in the sweep's last pass: the overview and the FAQ state no quota, and the limits table does. 5 GB/month makes this a development endpoint, not an ingress path. The 20 MB/s ceiling is per tunnel and would allow 1 TiB in about 15 hours, so the monthly byte quota is what binds. |
| Evidence rung | documented The allowance, the rate and the tunnel count are stated in one table. What is not stated is whether the 5 GB covers raw TCP forwarding as well as HTTP; the table names no protocol. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-23 | learn.microsoft.com/en-us/azure/developer/dev-tunnels/overvi | 'Tunnel port - An IP port number (1-65535) that is allowed through a dev tunnel'; 'most often linked to TCP connections on either side, but UDP-based protocols may also be supported' |
| 2026-10-23 | learn.microsoft.com/en-us/azure/developer/dev-tunnels/faq | creating a tunnel requires an Entra ID, Microsoft or GitHub account; anonymous users cannot create tunnels |
| 2026-10-23 | learn.microsoft.com/en-us/azure/azure-resource-manager/manag | '## Dev tunnels limits'; 'Bandwidth | 5 GB per user'; 'Tunnels | 10 per user'; 'Data transfer rate | Up to 20 MB/s per tunnel'; 'The limits reset monthly' |
More fields (7)
{
"wg_path": "none",
"wg_detail": "",
"ingress": "tcp",
"volume_tib_month": 0.0045,
"volume_stated": "5 GB per user per month, stated in the Dev tunnels limits table; the same table caps a tunnel at 20 MB/s, 10 tunnels per user and 1500 HTTP requests per minute per port.",
"bytes_transit": "yes",
"transit_note": ""
}Unknown or withheld values (2)
$.per_object_cap.statednot-applicable$.retention.statednot-applicable
Azure Artifacts Storage
fails: quotacardcardRdisagrees
Sibling records disagree:
- identity_kind:
storage/azure-artifactssays card, storage/azure-artifacts-2 says email
| Free tier | 2 GiB free per ORGANIZATION (not per project, not per feed), then tiered per-GiB: 2–10 GiB $2/GiB, 10–100 GiB $1/GiB, 100–1,000 GiB $0.50/GiB, 1,000+ GiB $0.25/GiB. unit GiB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | | 2 GiB total across all feeds in the org; exceeding it makes the org read-only for publishing until you delete data or add billing; Public feeds only exist inside 'public projects', and Microsoft is retiring public projects — 'Starting in 2027, existing public projects will automatically convert to private, and public feeds will no longer be publicly accessible.' |
| Egress | No separate egress SKU for Azure Artifacts; The metered dimension is storage only, which is unusual and mildly favourable — but 2 GiB is the binding constraint long before bandwidth. |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: t per project, not per feed), then tiered per-GiB: 2–10 GiB $2/GiB, 10–100 GiB $1/GiB, 100–1,000 GiB $0.50/GiB, 1,000+ GiB $0.25/GiB. Rock solid technically, but the public-feed c |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | rest rest (Azure DevOps Artifacts API), NuGet/npm/Maven/Python/Cargo/Universal Package clients, az artifacts universal |
| Tooling | nuget push, npm publish, twine upload, mvn deploy, az artifacts universal publish; documented upstream-source proxying for public registries. |
| Composes with | Per-org 2 GiB × unlimited free Azure DevOps organizations (each needs a Microsoft account and an org). Note the free tier is per org and pools across all projects in it — you cannot multiply by adding projects or feeds. |
| Reliability | Rock solid technically, but the public-feed capability has a published 2027 end date, which kills the anonymous-fetch use case. |
| Notes | 2 GiB free per ORGANIZATION (not per project, not per feed), then tiered per-GiB: 2–10 GiB $2/GiB, 10–100 GiB $1/GiB, 100–1,000 GiB $0.50/GiB, 1,000+ GiB $0.25/GiB. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/devops/azure-devop | read live: 'First 2 GiB free'; rate card '0 - 2 GiB = Free / 2 - 10 GiB = $2 per GiB / 10 - 100 GiB = $1 per GiB / 100 - 1,000 GiB = $0.5 per GiB / 1,000+ GiB = $0.25 per GiB'; 'Azure Artifacts: 2 GiB free per organization' |
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/artifacts/artifact-st | read live: 'Azure Artifacts provides 2 GiB of free storage for each organization'; 'Once your organization reaches the storage limit, you won't be able to publish new artifacts'; 'Removing your Azure Subscription ... limits your access to the free tier' |
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/artifacts/concepts/fe | read live: 'Starting in 2027, existing public projects will automatically convert to private, and public feeds will no longer be publicly accessible' |
| 2026-10-21 | pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nu | probe: GET -> 200, full service index (anonymous public feed works today) |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "2 GiB free per ORGANIZATION (not per project, not per feed), then tiered per-GiB: 2–10 GiB $2/GiB, 10–100 GiB $1/GiB, 100–1,000 GiB $0.50/GiB, 1,000+ GiB $0.25/GiB.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted
azure artifacts (azure devops) Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- identity_kind:
storage/azure-artifactssays card, storage/azure-artifacts-2 says email
| Free tier | 2 GiB free per organization, and publishing is blocked at the limit: 'Once your organization reaches the storage limit, you won't be able to publish new artifacts.' Supports NuGet/npm/Python unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 2 GiB free per organization, and publishing is blocked at the limit: 'Once your organization reaches the storage limit, you won't be able to publish new artifacts.' Supports NuGet/npm/Python |
| Notes | 2 GiB free per organization, and publishing is blocked at the limit: 'Once your organization reaches the storage limit, you won't be able to publish new artifacts.' Supports NuGet/npm/Python |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/artifacts/artifact-st | 2 GiB free per organization, and publishing is blocked at the limit: 'Once your organization reaches the storage limit, you won't be able to publish new artifacts.' Supports NuGet/npm/Python |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "2 GiB free per organization, and publishing is blocked at the limit: 'Once your organization reaches the storage limit, you won't be able to publish new artifacts.' Supports NuGet/npm/Python",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
Azure Blob Storage always-free tier Storage
fails: quotacardcardRper-object-cap
| Free tier | 5 GB LRS hot block storage, with 20,000 read and 10,000 write operations per month, free for 12 months. Azure Files: 100 GB LRS hot/cool/transaction-optimized, 12 months. Archive Storage: 10 GB LRS, 12 months. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 5 GB cap (5000000000 bytes) |
| Retention | not stated |
| Egress | Metered. 'First 100 GB/Month' egress free, then $0.087/GB from North America/Europe. 1 TiB/day of serving would be ~$80/day. Fails the egress filter hard unless fronted by a CDN with an origin-pull exemption. free_allowance: 100 GB per month |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: mized, 12 months. Archive Storage: 10 GB LRS, 12 months. Card required; overage silently bills at pay-go rates once the 12-month window lapses because the account is not auto-suspended. Per- |
| Limits | 5 GB cap; 12-month expiry on the Blob allotment (Azure's page labels Blob '12 months' despite the 'always free' framing elsewhere - treat as trial); 5 PiB max per storage account is irrelevant at 5 GB. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | s3-compatible, rest, rclone s3 |
| Tooling | rclone backend 'azureblob' (Tier 1, md5, R/W); any S3-compatible SDK is NOT usable - it's the native Blob REST API; AzCopy, Azure Storage Explorer, azure-storage-blob Python SDK |
| Composes with | Per-account 5 GB and accounts require a credit card for verification; the always-free grant is per Azure subscription. N subscriptions x 5 GB is not a serious multiplier and each needs billing verification. |
| Reliability | Card required; overage silently bills at pay-go rates once the 12-month window lapses because the account is not auto-suspended. |
| Notes | 5 GB LRS hot block storage, with 20,000 read and 10,000 write operations per month, free for 12 months. Azure Files: 100 GB LRS hot/cool/transaction-optimized, 12 months. Archive Storage: 10 GB LRS, 12 months. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-gb/pricing/free-services | 'Blob Storage ... 5 GB locally redundant storage (LRS) hot block with 20,000 read and 10,000 write operations' / '12 months'; 'Azure Files ... 100 GB of LRS transaction optimised, hot, and cool files' / '12 months'; 'Archive Storage ... 10 GB LRS storage' / '12 months' |
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/bandwidth/ | 'First 100 GB/Month' free, then '$0.087 per GB' from North America/Europe; 'Azure already offers the first 100 GB/month of egressed data for free' |
| 2026-10-21 | rclone.org/overview/ | Azure Blob listed as a Tier 1 rclone backend, md5, R/W |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "5 GB LRS hot block storage, with 20,000 read and 10,000 write operations per month, free for 12 months. Azure Files: 100 GB LRS hot/cool/transaction-optimized, 12 months. Archive Storage: 10 GB LRS, 12 months.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
Azure Container Registry (Basic / free 12-month Standard) Storage
fails: quotacardcardR
| Free tier | Basic SKU includes 10 GiB storage; Standard includes 100 GiB; Premium 500 GiB. Registry storage limit 40 TiB (Basic/Standard) / 100 TiB (Premium). Free grant: '1 Standard tier registry with 100 GB storage and 10 webhooks' for 12 months. unit GiB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | Basic is ~$0.167/day even with the included 10 GiB; rate limits by SKU return HTTP 429 with Retry-After; 12-month free Standard expires into billing. (360 days) |
| Egress | Metered through Azure bandwidth: first 100 GB/month free, then ~$0.087/GB. Pulls are OCI distribution HTTP, CDN-cacheable in principle but not Alliance-exempt. free_allowance: 100 GB per month |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: day. N registries x 100 GiB is N paid registries. Basic is ~$0.167/day even with the included 10 GiB; rate limits by SKU return HTTP 429 with Retry-After; 12-month free Standard expi |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | oci oci |
| Tooling | ORAS / docker push / skopeo against <registry>.azurecr.io; OCI artifacts let you push arbitrary blobs, not just images |
| Composes with | Per-registry included storage is a paid SKU line item, not a free quota - the 100 GiB is 'included in the daily rate', so extra storage bills per GiB/day. N registries x 100 GiB is N paid registries. |
| Reliability | Not a free tier in the storage sense - 'included storage' is bundled into a paid daily rate. Over the registry storage limit requires Azure Support. |
| Notes | Basic SKU includes 10 GiB storage; Standard includes 100 GiB; Premium 500 GiB. Registry storage limit 40 TiB (Basic/Standard) / 100 TiB (Premium). Free grant: '1 Standard tier registry with 100 GB storage and 10 webhooks' for 12 months. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/container-registry/container | 'Included storage (GiB) | 10 | 100 | 500'; 'Storage limit (TiB) | 40 | 40 | 100'; 'Additional storage may be used ... at an additional daily rate per GiB' |
| 2026-10-21 | azure.microsoft.com/en-gb/pricing/free-services | 'Container Registry ... 1 Standard tier registry with 100 GB storage and 10 webhooks' / '12 months' |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Basic SKU includes 10 GiB storage; Standard includes 100 GiB; Premium 500 GiB. Registry storage limit 40 TiB (Basic/Standard) / 100 TiB (Premium). Free grant: '1 Standard tier registry with 100 GB storage and 10 webhooks' for 12 months.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted
azure container registry free standard tier Storage
fails: quotaemail?card?R
| Free tier | 'Included storage' is bundled into a paid daily SKU rate, not granted free; 100 GB for 12 months then billing. Basic is a paid SKU from day one. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 'Included storage' is bundled into a paid daily SKU rate, not granted free; 100 GB for 12 months then billing. Basic is a paid SKU from day one. |
| Notes | 'Included storage' is bundled into a paid daily SKU rate, not granted free; 100 GB for 12 months then billing. Basic is a paid SKU from day one. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/container-registry/container | 'Included storage' is bundled into a paid daily SKU rate, not granted free 100 GB for 12 months then billing. Basic is a paid SKU from day one. |
More fields (1)
{
"dead_end": {
"failure_class": "retention",
"why": "'Included storage' is bundled into a paid daily SKU rate, not granted free; 100 GB for 12 months then billing. Basic is a paid SKU from day one.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
Azure DevOps Artifacts (Universal Packages) Storage
fails: quotacardcardRper-object-capdisagrees
Sibling records disagree:
- identity_kind:
storage/azure-devops-artifactssays card, storage/azure-devops-artifacts-2 says email
| Free tier | 2 GiB free storage per organization; Universal Packages up to 4 TiB per file. unit GiB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 4 TiB per file (4398046511104 bytes) |
| Retention | | Hard 2 GiB per org; publishing is blocked at the cap until you delete packages or enable pay-go billing ($0.25-$2/GB/mo tiers) |
| Egress | Unmetered for restore (ADO has no egress meter). |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: the cap until you delete packages or enable pay-go billing ($0.25-$2/GB/mo tiers). 500 MiB per file for NuGet/npm/Maven/Python/Cargo. paas |
| Limits | Hard 2 GiB per org; publishing is blocked at the cap until you delete packages or enable pay-go billing ($0.25-$2/GB/mo tiers). 500 MiB per file for NuGet/npm/Maven/Python/Cargo. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest rest |
| Tooling | az artifacts universal publish/download, nuget/npm/maven/python clients; Universal Packages are the only type that lets you push a multi-TiB blob |
| Composes with | 2 GiB x unlimited orgs - but only 2 GiB per org and each org needs an Azure subscription to create. The interesting number is the 4 TiB per-file ceiling, which is moot at 2 GiB of pool. |
| Reliability | At the 2 GiB cap, 'you won't be able to publish new packages' - hard stop, no grace. |
| Notes | 2 GiB free storage per organization; Universal Packages up to 4 TiB per file. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/artifacts/reference/l | 'Azure Artifacts provides 2 GiB of free storage per organization'; 'Universal Packages | 4 TiB'; 'When your organization reaches the 2 GiB free-tier storage limit, you won't be able to publish new packages' |
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/devops/azure-devop | 'First 2 GiB free'; '0 - 2 GiB = Free; 2 - 10 GiB = $2 per GiB' |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "2 GiB free storage per organization; Universal Packages up to 4 TiB per file.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (4)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted
azure devops artifacts Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- identity_kind:
storage/azure-devops-artifactssays card, storage/azure-devops-artifacts-2 says email
| Free tier | 2 GiB free per org, hard block on publish at the cap, and pay-go tiers start at $2/GB for the 2-10 GiB band. The 4 TiB Universal Package file ceiling is unusable with 2 GiB of pool. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 2 GiB free per org, hard block on publish at the cap, and pay-go tiers start at $2/GB for the 2-10 GiB band. The 4 TiB Universal Package file ceiling is unusable with 2 GiB of pool. |
| Notes | 2 GiB free per org, hard block on publish at the cap, and pay-go tiers start at $2/GB for the 2-10 GiB band. The 4 TiB Universal Package file ceiling is unusable with 2 GiB of pool. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/artifacts/reference/l | 2 GiB free per org, hard block on publish at the cap, and pay-go tiers start at $2/GB for the 2-10 GiB band. The 4 TiB Universal Package file ceiling is unusable with 2 GiB of pool. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "2 GiB free per org, hard block on publish at the cap, and pay-go tiers start at $2/GB for the 2-10 GiB band. The 4 TiB Universal Package file ceiling is unusable with 2 GiB of pool.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
azure files 100 gb free Storage
fails: quotaemail?card?R
| Free tier | 100 GB for 12 months only, then bills; requires an Azure subscription with card. No path to 500 GB. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 100 GB for 12 months only, then bills; requires an Azure subscription with card. No path to 500 GB. |
| Notes | 100 GB for 12 months only, then bills; requires an Azure subscription with card. No path to 500 GB. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-gb/pricing/free-services | 100 GB for 12 months only, then bills requires an Azure subscription with card. No path to 500 GB. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "100 GB for 12 months only, then bills; requires an Azure subscription with card. No path to 500 GB.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
azure for students Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/azure-for-studentssays qualifies-with-caveat, storage/azure-for-students-2 says fails-quota - identity_kind:
storage/azure-for-studentssays card, storage/azure-for-students-2 says email
| Free tier | $100 credit valid 12 months plus free monthly service amounts - a credit, not storage. Expires to pay-go. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | $100 credit valid 12 months plus free monthly service amounts - a credit, not storage. Expires to pay-go. |
| Notes | $100 credit valid 12 months plus free monthly service amounts - a credit, not storage. Expires to pay-go. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/free/students/ | $100 credit valid 12 months plus free monthly service amounts - a credit, not storage. Expires to pay-go. |
More fields (1)
{
"dead_end": {
"failure_class": "not-storage",
"why": "$100 credit valid 12 months plus free monthly service amounts - a credit, not storage. Expires to pay-go.",
"retry_when": "never; it is not storage",
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (14)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
azure for students ($100 credit) Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/azure-for-studentssays qualifies-with-caveat, storage/azure-for-students-3 says fails-quota - identity_kind:
storage/azure-for-studentssays card, storage/azure-for-students-3 says email
| Free tier | '$100 credit to use on Azure services within 12 months', renewable annually 'as long as you're a student'. $100 is a few TB-months at best; the 12-month balance expiry is the binding limit. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | '$100 credit to use on Azure services within 12 months', renewable annually 'as long as you're a student'. $100 is a few TB-months at best; the 12-month balance expiry is the binding limit. |
| Notes | '$100 credit to use on Azure services within 12 months', renewable annually 'as long as you're a student'. $100 is a few TB-months at best; the 12-month balance expiry is the binding limit. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/free/students | '$100 credit to use on Azure services within 12 months', renewable annually 'as long as you're a student'. $100 is a few TB-months at best the 12-month balance expiry is the binding limit. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "'$100 credit to use on Azure services within 12 months', renewable annually 'as long as you're a student'. $100 is a few TB-months at best; the 12-month balance expiry is the binding limit.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
azure for students ($100/yr, renewable) Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/azure-for-studentssays qualifies-with-caveat, storage/azure-for-students-4 says fails-quota - identity_kind:
storage/azure-for-studentssays card, storage/azure-for-students-4 says email
| Free tier | Genuinely renewable - '$100 credit to use on Azure services within 12 months', renewed annually 'as long as you're a student' - but it is $100, roughly 1-2 TB-months of Blob. Restricted to f unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Genuinely renewable - '$100 credit to use on Azure services within 12 months', renewed annually 'as long as you're a student' - but it is $100, roughly 1-2 TB-months of Blob. Restricted to f |
| Notes | Genuinely renewable - '$100 credit to use on Azure services within 12 months', renewed annually 'as long as you're a student' - but it is $100, roughly 1-2 TB-months of Blob. Restricted to f |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/free/students/ | Genuinely renewable - '$100 credit to use on Azure services within 12 months', renewed annually 'as long as you're a student' - but it is $100, roughly 1-2 TB-months of Blob. Restricted to f |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Genuinely renewable - '$100 credit to use on Azure services within 12 months', renewed annually 'as long as you're a student' - but it is $100, roughly 1-2 TB-months of Blob. Restricted to f",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
azure open datasets (as a hosting programme) Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/azure-open-datasetssays dead, storage/azure-open-datasets-2 says fails-quota
| Free tier | No intake at all. It is a curated catalogue of Microsoft/partner data surfaced through Azure ML; there is no application, no quota and no route to place your own 20 TB there. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | No intake at all. It is a curated catalogue of Microsoft/partner data surfaced through Azure ML; there is no application, no quota and no route to place your own 20 TB there. |
| Notes | No intake at all. It is a curated catalogue of Microsoft/partner data surfaced through Azure ML; there is no application, no quota and no route to place your own 20 TB there. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/products/open-datasets | No intake at all. It is a curated catalogue of Microsoft/partner data surfaced through Azure ML; there is no application, no quota and no route to place your own 20 TB there. |
More fields (1)
{
"dead_end": {
"failure_class": "write-gated",
"why": "No intake at all. It is a curated catalogue of Microsoft/partner data surfaced through Azure ML; there is no application, no quota and no route to place your own 20 TB there.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
azure pipelines build artifacts (as a free archive) Storage
fails: quotaemail?card?R
| Free tier | Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB |
| Notes | Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/devops/pipelines/policies/re | Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB |
| 2026-10-21 | dev.azure.com/dnceng/public/_apis/build/builds?api-version=7 | cited as the basis of the rejection: Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB |
More fields (1)
{
"dead_end": {
"failure_class": "retention",
"why": "Retention is configurable and a run can be marked 'retained indefinitely', but the backing storage is the Azure DevOps organization's storage, and the org's free artifacts allowance is 2 GiB",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
mcr (mcr.microsoft.com) Storage
fails: quotaemail?card?R
| Free tier | Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked. |
| Notes | Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | mcr.microsoft.com/v2/ | Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked. |
| 2026-10-21 | mcr.microsoft.com/v2/_catalog | cited as the basis of the rejection: Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked. |
| 2026-10-21 | mcr.microsoft.com/v2/token?scope=repository:dotnet/runtime:p | cited as the basis of the rejection: Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Microsoft's public registry is pull-only for anonymous users - you cannot push, so it is not usable as the client's storage. Kept here only to confirm it was checked.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
microsoft 365 e5 developer sandbox Storage
fails: quotaemail?card?R
| Free tier | Cut from 1 TB/user to 10 GB/user OneDrive plus a 300 GB pooled tenant cap; setup now requires a linked Azure billing account, and that requirement cannot be skipped; eligibility needs a paid Visual Studio or ISV/ unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Cut from 1 TB/user to 10 GB/user OneDrive plus a 300 GB pooled tenant cap; setup now requires a linked Azure billing account, and that requirement cannot be skipped; eligibility needs a paid Visual Studio or ISV/ |
| Notes | Cut from 1 TB/user to 10 GB/user OneDrive plus a 300 GB pooled tenant cap; setup now requires a linked Azure billing account, and that requirement cannot be skipped; eligibility needs a paid Visual Studio or ISV/ |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/office/developer-program/microsoft | Cut from 1 TB/user to 10 GB/user OneDrive plus a 300 GB pooled tenant cap setup now requires a linked Azure billing account, and that requirement cannot be skipped; eligibility needs a paid Visual Studio or ISV/ |
| 2026-10-21 | learn.microsoft.com/en-us/office/developer-program/microsoft | cited as the basis of the rejection: Cut from 1 TB/user to 10 GB/user OneDrive plus a 300 GB pooled tenant cap; setup now requires a linked Azure billing account, and that requirement cannot be skipped; eligibility needs a paid Visual Studio or ISV/ |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Cut from 1 TB/user to 10 GB/user OneDrive plus a 300 GB pooled tenant cap; setup now requires a linked Azure billing account, and that requirement cannot be skipped; eligibility needs a paid Visual Studio or ISV/",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
microsoft 365 e5 developer subscription (the '25 x 1 tb' myth) Storage
fails: quotaemail?card?R
| Free tier | Widely cited as 25 TB. The current FAQ caps developer tenants at 300 GB pooled storage and 10 GB OneDrive per user, with the Developer SKU contributing 0 GB SharePoint in mixed tenants. Belo unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Widely cited as 25 TB. The current FAQ caps developer tenants at 300 GB pooled storage and 10 GB OneDrive per user, with the Developer SKU contributing 0 GB SharePoint in mixed tenants. Belo |
| Notes | Widely cited as 25 TB. The current FAQ caps developer tenants at 300 GB pooled storage and 10 GB OneDrive per user, with the Developer SKU contributing 0 GB SharePoint in mixed tenants. Belo |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/office/developer-program/microsoft | Widely cited as 25 TB. The current FAQ caps developer tenants at 300 GB pooled storage and 10 GB OneDrive per user, with the Developer SKU contributing 0 GB SharePoint in mixed tenants. Belo |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Widely cited as 25 TB. The current FAQ caps developer tenants at 300 GB pooled storage and 10 GB OneDrive per user, with the Developer SKU contributing 0 GB SharePoint in mixed tenants. Belo",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
Microsoft Azure Free Account — Blob Storage Storage
fails: quotacardcardR
| Free tier | 5 GB LRS hot block blob with 20,000 read + 10,000 write operations, 'Free for your first 12 months'. Not in the always-free list. unit GB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Internet egress: 'First 100 GB/Month | Free' from every source continent, for all Azure customers, in perpetuity (not part of the 12-month offer). free_allowance: 100 GB per month |
| Identity | card derived from the record's prose, not from an identity field, and no signup was executed: nd starts billing — a negative multiplier unless torn down. $200 credit is 30 days. 5 GB for 12 months then paid (~$0.0184/GB-month hot LRS). 100 GB/month egress is the binding const |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | s3, rest, rclone s3 |
| Tooling | Azure Blob REST API; rclone 'azureblob' backend; azcopy; SAS tokens/public containers for anonymous reads. |
| Composes with | One free account per customer, and the 5 GB ends at month 12 while the storage keeps running and starts billing — a negative multiplier unless torn down. $200 credit is 30 days. |
| Reliability | Stable while it lasts; the failure mode is silent conversion to pay-as-you-go at month 12 with data still resident. |
| Notes | 5 GB LRS hot block blob with 20,000 read + 10,000 write operations, 'Free for your first 12 months'. Not in the always-free list. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | azure.microsoft.com/en-us/pricing/free-services | 'Azure Blob Storage: 5 GB locally redundant storage (LRS) hot block with 20,000 read and 10,000 write operations' tagged 'Storage | 12 months free' |
| 2026-10-21 | azure.microsoft.com/en-us/pricing/details/bandwidth/ | 'Internet Egress ... First 100 GB/Month: Free' (North America/Europe to any destination) |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "5 GB LRS hot block blob with 20,000 read + 10,000 write operations, 'Free for your first 12 months'. Not in the always-free list.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (6)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
microsoft fabric trial / onelake Storage
fails: quotaemail?card?R
| Free tier | 1 TB but 60 days only; after expiry non-Power BI items go inactive and content is retained just 7 days. Great API surface (DFS + Blob), wrong duration for a 20 TB archive. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 1 TB but 60 days only; after expiry non-Power BI items go inactive and content is retained just 7 days. Great API surface (DFS + Blob), wrong duration for a 20 TB archive. |
| Notes | 1 TB but 60 days only; after expiry non-Power BI items go inactive and content is retained just 7 days. Great API surface (DFS + Blob), wrong duration for a 20 TB archive. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/fabric/fundamentals/fabric-trial | 1 TB but 60 days only after expiry non-Power BI items go inactive and content is retained just 7 days. Great API surface (DFS + Blob), wrong duration for a 20 TB archive. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "1 TB but 60 days only; after expiry non-Power BI items go inactive and content is retained just 7 days. Great API surface (DFS + Blob), wrong duration for a 20 TB archive.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
microsoft mcr / registry.k8s.io (read-only public mirrors) Storage
fails: quotaemail?card?R
| Free tier | Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace. |
| Notes | Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | mcr.microsoft.com/v2/ | Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace. |
| 2026-10-21 | registry.k8s.io/v2/ | cited as the basis of the rejection: Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace. |
| 2026-10-21 | registry.k8s.io/token | cited as the basis of the rejection: Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Anonymous pulls work (MCR returns 200 at /v2/), but both are read-only mirrors of vendor images — no push, no account, no writable namespace.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
Microsoft Teams (free / personal) Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/microsoft-teamssays fails-quota, storage/microsoft-teams-gallery-media-uploads says qualifies-with-caveat - identity_kind:
storage/microsoft-teamssays email, storage/microsoft-teams-gallery-media-uploads says institution
| Free tier | 5 GB free per person for files in Teams for personal use; images/videos explicitly do not count and have no storage limit; files land in the 'Microsoft Teams Chat Files' folder in the user's OneDrive. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Unmetered; share links resolve to OneDrive direct URLs. |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | rest, graph, rclone rest |
| Tooling | Graph API chatMessageHostedContent + driveItem; no rclone backend for Teams specifically (use the onedrive remote pointing at the Chat Files folder) |
| Composes with | Effectively OneDrive consumer's 5 GB wearing a different hat - Teams free files ARE OneDrive files, so this is not a second quota. The one genuine loophole claim on the page is 'Images and videos are not saved on OneDrive and don't have a storage limit' - unverified whether that means arbitrary files can be smuggled as media. |
| Reliability | Leaving a community does not revoke other members' access; deleting the 5 GB block blocks attaches but not history. |
| Notes | 5 GB free per person for files in Teams for personal use; images/videos explicitly do not count and have no storage limit; files land in the 'Microsoft Teams Chat Files' folder in the user's OneDrive. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | support.microsoft.com/en-us/teams/free/troubleshoot/where-is | 'The amount of free storage ... is 5 GB'; 'Images and videos are not saved on OneDrive and don't have a storage limit' |
| 2026-10-21 | support.microsoft.com/en-us/onedrive/restrictions-and-limita | 'Individual files | 250 GB' |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "5 GB free per person for files in Teams for personal use; images/videos explicitly do not count and have no storage limit; files land in the 'Microsoft Teams Chat Files' folder in the user's OneDrive.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (8)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
microsoft teams essentials / m365 business paid tiers Storage
fails: quotaemail?card?R
| Free tier | 10 GB per user (Essentials) or 1 TB per user (Business) but they are paid products - a trial at best. Only the Developer Program sandbox is actually free, and it is listed as a candidate abo unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 10 GB per user (Essentials) or 1 TB per user (Business) but they are paid products - a trial at best. Only the Developer Program sandbox is actually free, and it is listed as a candidate abo |
| Notes | 10 GB per user (Essentials) or 1 TB per user (Business) but they are paid products - a trial at best. Only the Developer Program sandbox is actually free, and it is listed as a candidate abo |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.microsoft.com/en-us/microsoft-teams/essentials | 10 GB per user (Essentials) or 1 TB per user (Business) but they are paid products - a trial at best. Only the Developer Program sandbox is actually free, and it is listed as a candidate abo |
| 2026-10-21 | www.microsoft.com/en-us/microsoft-teams/free | cited as the basis of the rejection: 10 GB per user (Essentials) or 1 TB per user (Business) but they are paid products - a trial at best. Only the Developer Program sandbox is actually free, and it is listed as a candidate abo |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "10 GB per user (Essentials) or 1 TB per user (Business) but they are paid products - a trial at best. Only the Developer Program sandbox is actually free, and it is listed as a candidate abo",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
microsoft teams free (5 gb) Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/microsoft-teams-freesays fails-quota, storage/microsoft-teams-gallery-media-uploads says qualifies-with-caveat - identity_kind:
storage/microsoft-teams-freesays email, storage/microsoft-teams-gallery-media-uploads says institution
| Free tier | Files are stored in OneDrive and share the same 5 GB consumer quota - not an additional pool. The 'images/videos have no storage limit' line is a possible smuggling route but unverified. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Files are stored in OneDrive and share the same 5 GB consumer quota - not an additional pool. The 'images/videos have no storage limit' line is a possible smuggling route but unverified. |
| Notes | Files are stored in OneDrive and share the same 5 GB consumer quota - not an additional pool. The 'images/videos have no storage limit' line is a possible smuggling route but unverified. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | support.microsoft.com/en-us/teams/free/troubleshoot/where-is | Files are stored in OneDrive and share the same 5 GB consumer quota - not an additional pool. The 'images/videos have no storage limit' line is a possible smuggling route but unverified. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "Files are stored in OneDrive and share the same 5 GB consumer quota - not an additional pool. The 'images/videos have no storage limit' line is a possible smuggling route but unverified.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
OneDrive consumer (Microsoft account) Storage
fails: quotaemail?card?R
| Free tier | 5 GB free per Microsoft account; paid tiers 100 GB / 1 TB / 2 TB. unit GB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | not stated |
| Egress | Unmetered for direct download links. |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | rest, graph, rclone rest |
| Tooling | rclone 'onedrive' with drive_type=personal; Microsoft Graph /me/drive; the OneDrive v1.0 API |
| Composes with | 5 GB x N Microsoft accounts. Accounts are free but each needs a verified identity and there is no documented no-verification bulk signup; 5 GB is also below the 'trivially repeatable' threshold in practice for 10 TiB (2,000 accounts for 10 TB). |
| Reliability | Stable, no data-loss history; the blocker is purely the 5 GB number. |
| Notes | 5 GB free per Microsoft account; paid tiers 100 GB / 1 TB / 2 TB. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.microsoft.com/en-us/microsoft-365/onedrive/compare-onedr | 'Get 5 GB free, or upgrade to a Microsoft 365 subscription'; paid tiers '100 GB', '1 TB (1,000 GB)', '2 TB' |
| 2026-10-21 | graph.microsoft.com/v1.0/me/drive | probe: curl -> HTTP 401 (live, auth required) |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "5 GB free per Microsoft account; paid tiers 100 GB / 1 TB / 2 TB.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (8)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted
onedrive consumer 5 gb Storage
fails: quotaemail?card?R
| Free tier | 5 GB per Microsoft account, 2,000 accounts would be needed for 10 TB - not trivially repeatable, and no documented bulk-signup path. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | 5 GB per Microsoft account, 2,000 accounts would be needed for 10 TB - not trivially repeatable, and no documented bulk-signup path. |
| Notes | 5 GB per Microsoft account, 2,000 accounts would be needed for 10 TB - not trivially repeatable, and no documented bulk-signup path. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.microsoft.com/en-us/microsoft-365/onedrive/compare-onedr | 5 GB per Microsoft account, 2,000 accounts would be needed for 10 TB - not trivially repeatable, and no documented bulk-signup path. |
More fields (1)
{
"dead_end": {
"failure_class": "quota",
"why": "5 GB per Microsoft account, 2,000 accounts would be needed for 10 TB - not trivially repeatable, and no documented bulk-signup path.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded
Azure Pipelines (public project) CI runners
deadcardcardDretention-clampeddisagrees
Sibling records disagree:
- verdict:
ci-cd-runners/azure-pipelines-privatesays qualifies-with-caveat, ci-cd-runners/azure-pipelines-public says dead
| Free tier | retired for new projects; existing public projects keep their grant until 2027 unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not applicable: the product is being withdrawn |
| Retention | existing grants end in 2027 |
| Egress | not applicable |
| Identity | card not obtainable at all for a new project |
| Limits |
|
| Binding | retention-clamped |
| Interface | git no new public project can obtain the grant |
| Tooling | not applicable for a new account |
| Composes with | no path for a new account |
| Reliability | a withdrawal rather than an outage; the grant still works until it expires |
| Notes | Any list still counting ten parallel jobs for public projects is describing a closed product. |
| Evidence rung | documented the hosted-agents doc was read today and states the retirement. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | learn.microsoft.com/en-us/azure/devops/pipelines/agents/host | the free grant for public projects is no longer available to new projects, and existing grants end in 2027 |
Bing Search APIs Crawling
deadcardcardDrequest-rate
| Free tier | none: retired unit requests; metered on request-count |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | not applicable: decommissioned |
| Egress | not applicable |
| Identity | card was an Azure subscription |
| Limits |
|
| Binding | request-rate |
| Interface | rest was a REST API with a subscription key |
| Tooling | not stated |
| Composes with | not established |
| Reliability | no reliability event recorded |
| Notes | Retired a year before this corpus was written. Any list that still carries a Bing Web Search free tier is out of date, and the replacement is Grounding with Bing inside Azure AI Agents, which is a different product with a different price. |
| Evidence rung | documented |
| Checked | 2026-10-22 (live); stale on 2026-11-21 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | learn.microsoft.com/en-us/lifecycle/announcements/bing-searc | Bing Search APIs retired on 2025-08-11; every existing instance is decommissioned completely, the product is no longer available and new customer signup is closed |
Unknown or withheld values (2)
$.reliability_notenone-observed$.toolingnot-stated
azure open datasets Storage
deademail?card?Rdisagrees
Sibling records disagree:
- verdict:
storage/azure-open-datasetssays dead, storage/azure-open-datasets-2 says fails-quota
| Free tier | Retired as a programme. Microsoft Learn's overview page 404s and the product page no longer exposes a dataset catalogue or an intake form; what remains is the Planetary Computer, which hosts unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Retired as a programme. Microsoft Learn's overview page 404s and the product page no longer exposes a dataset catalogue or an intake form; what remains is the Planetary Computer, which hosts |
| Notes | Retired as a programme. Microsoft Learn's overview page 404s and the product page no longer exposes a dataset catalogue or an intake form; what remains is the Planetary Computer, which hosts |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | learn.microsoft.com/en-us/azure/open-datasets/overview-what- | Retired as a programme. Microsoft Learn's overview page 404s and the product page no longer exposes a dataset catalogue or an intake form; what remains is the Planetary Computer, which hosts |
| 2026-10-21 | azure.microsoft.com/en-us/products/open-datasets | cited as the basis of the rejection: Retired as a programme. Microsoft Learn's overview page 404s and the product page no longer exposes a dataset catalogue or an intake form; what remains is the Planetary Computer, which hosts |
More fields (1)
{
"dead_end": {
"failure_class": "dead-service",
"why": "Retired as a programme. Microsoft Learn's overview page 404s and the product page no longer exposes a dataset catalogue or an intake form; what remains is the Planetary Computer, which hosts",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded