{
 "id": "docker",
 "name": "Docker",
 "category": "developer_tools",
 "website": "https://www.docker.com",
 "domains": [
  "docker.com"
 ],
 "summary": "Sign in to Docker Home, open Billing, open the action menu next to your plan and choose Cancel plan. Paid features last until the billing cycle ends, then the account returns to free Docker Personal. Gotcha: extra private repositories lock, and sales-assisted Business plans cancel through the account manager.",
 "routes": [
  {
   "channel": "direct_web",
   "label": "Cancel a self-serve plan",
   "applies_to": "Docker Pro, Team and Business plans bought online (self-serve), billed monthly or yearly",
   "who": "The account holder for Pro; for Team or Business, a user who manages the organization's billing in Docker Home",
   "method": "self_serve",
   "start_url": "https://app.docker.com",
   "steps": [
    {
     "do": "Pull any private images you want to keep, and plan to cut private repositories down to the free plan's limit",
     "expect": null
    },
    {
     "do": "Sign in to Docker Home and go to Billing",
     "expect": "Active plans"
    },
    {
     "do": "From Active plans, open the action menu next to your Docker plan",
     "expect": "Cancel plan"
    },
    {
     "do": "Select Cancel plan and complete the feedback survey",
     "expect": null
    }
   ],
   "confirm_by": null,
   "effective": "At the end of the current billing cycle (billing periods are calculated in UTC); paid features stay until then, then the account returns to Docker Personal or a basic organization account",
   "notice": "Cancel any time before the renewal date: self-serve plans renew automatically at the end of each subscription period",
   "refund": "The unused portion isn't refunded; self-serve customers aren't refunded outside a 15-day window",
   "fees": null,
   "source_ids": [
    "s1",
    "s2",
    "s3",
    "s4",
    "s5",
    "s6",
    "s7",
    "s8",
    "s9",
    "s10",
    "s11",
    "s32"
   ]
  },
  {
   "channel": "sales_contract",
   "label": "Sales-assisted and contract plans",
   "applies_to": "Sales-assisted Docker Business plans, and subscriptions bought on an Order Form under the Docker Subscription Service Agreement",
   "who": "The customer, through its Docker account manager",
   "method": "contact_sales",
   "start_url": null,
   "steps": [
    {
     "do": "Check your order form for the end of the current term: the term renews automatically for another 12 months",
     "expect": null
    },
    {
     "do": "Contact your Docker account manager to cancel",
     "expect": null
    },
    {
     "do": "To stop the renewal, email notice of non-renewal to sales@docker.com at least 30 days before the term ends, and keep a copy",
     "expect": null
    }
   ],
   "confirm_by": null,
   "effective": "At the end of the current term",
   "notice": "At least 30 days' written notice before the end of the current term, by email to sales@docker.com; otherwise it renews for another 12 months",
   "refund": "None: fees are non-refundable and payment obligations are non-cancelable, unless the agreement says otherwise",
   "fees": "All fees owed under the order form become immediately due when it expires or is terminated",
   "source_ids": [
    "s12",
    "s13",
    "s14",
    "s15",
    "s16"
   ]
  },
  {
   "channel": "reseller_or_partner",
   "label": "Bought through a marketplace or reseller",
   "applies_to": "Docker subscriptions bought through a cloud marketplace or a reseller instead of directly from Docker",
   "who": "The customer, with the marketplace or reseller it bought from",
   "method": "contact_sales",
   "start_url": null,
   "steps": [
    {
     "do": "Find your agreement with the marketplace or reseller: the fees and the subscription term are set between you and them, not by Docker",
     "expect": null
    },
    {
     "do": "Stop the renewal under that marketplace's or reseller's terms",
     "expect": null
    },
    {
     "do": "Watch for a renewal invoice from Docker itself: on auto-renewal, Docker may renew the services by direct invoice under the marketplace's or reseller's renewal terms",
     "expect": null
    }
   ],
   "confirm_by": null,
   "effective": "At the end of the subscription term in your marketplace or reseller agreement",
   "notice": "Set by your agreement with the marketplace or reseller",
   "refund": "None unless the agreement says otherwise: Docker's fees are non-refundable",
   "fees": "You owe the full fees for the subscription term, whatever your billing terms with the marketplace or reseller",
   "source_ids": [
    "s41",
    "s42",
    "s43",
    "s15"
   ]
  },
  {
   "channel": "direct_web",
   "label": "Deactivate the Docker account",
   "applies_to": "A Docker account you want to close for good, after its paid plan is cancelled",
   "who": "The account holder",
   "method": "self_serve",
   "start_url": "https://app.docker.com",
   "steps": [
    {
     "do": "Downgrade any paid plan to Docker Personal, leave any organization or company you own (transfer the owner role first if you are its only owner), and unlink any GitHub or Bitbucket account used for automated builds",
     "expect": null
    },
    {
     "do": "Download the images and tags you want to keep (docker pull -a <image> fetches every tag)",
     "expect": null
    },
    {
     "do": "Sign in to Docker Home, select your avatar and choose Account settings",
     "expect": "Deactivate"
    },
    {
     "do": "Select Deactivate, then select Deactivate account and select it again to confirm",
     "expect": null
    }
   ],
   "confirm_by": null,
   "effective": "Immediately and permanently: every Docker product and service that uses the account becomes inaccessible, and it can't be undone",
   "notice": null,
   "refund": null,
   "fees": null,
   "source_ids": [
    "s17",
    "s18",
    "s19",
    "s20",
    "s21",
    "s22",
    "s23",
    "s44"
   ]
  }
 ],
 "pay_less": [
  {
   "type": "free_plan",
   "what": "Docker Personal is free for individual developers, with 100 Docker Hub pulls an hour per user; cancelling a paid plan returns you to it",
   "evidence": "documented",
   "source_ids": [
    "s24",
    "s25",
    "s6"
   ]
  },
  {
   "type": "free_plan",
   "what": "Docker Desktop itself is free for small businesses (fewer than 250 employees and under $10 million in annual revenue), personal use, education and non-commercial open source projects",
   "evidence": "documented",
   "source_ids": [
    "s26",
    "s27"
   ]
  },
  {
   "type": "seat_reduction",
   "what": "Team and Business: in Docker Home select the organization, go to Billing, Active plans, open the plan's action menu and choose Remove seats, then confirm the billing details. You must remove members from the organization to match",
   "evidence": "documented",
   "source_ids": [
    "s28"
   ]
  },
  {
   "type": "downgrade",
   "what": "Business to Team: contact the Docker Sales and Support team (you lose SSO and other Business features). Team or Business can't move to Pro, but you can stay on Team with as few as one user",
   "evidence": "documented",
   "source_ids": [
    "s29",
    "s30",
    "s31"
   ]
  }
 ],
 "export": [
  {
   "data": "Images and tags in your Docker Hub repositories",
   "how": "Pull them to your machine before cancelling or deactivating: docker pull -a <image> fetches every tag, or pull just the tags you need",
   "format": "Container images",
   "limits": "After a paid plan is cancelled, private repositories beyond the free plan's limit are locked",
   "source_ids": [
    "s19",
    "s7"
   ]
  }
 ],
 "after_cancel": {
  "access_until": "The end of the current billing cycle (billing periods are calculated in UTC)",
  "data_kept": "The subscription agreement lets Docker delete usage history and data files for AI features and Cloud Sandboxes within 90 days of termination, or within 30 days for free accounts. Deactivating the account doesn't delete personal data: use Docker's Privacy request form for that",
  "you_lose": [
   "Private repositories beyond the free limit (they are locked), and Pro collaborators on private repositories",
   "Team or Business members provisioned through SCIM without a password, who are locked out",
   "Paid features such as unlimited private repositories, Docker Build Cloud and commercial Docker Desktop use",
   "Every Docker product and service tied to the account, if you deactivate it"
  ]
 },
 "agent_notes": {
  "sign_in_needed": true,
  "phone_or_chat_only": false,
  "retention_step": "Cancel plan asks you to complete a feedback survey",
  "tips": [
   "You can't pause or delay a plan: cancel it, downgrade, or remove seats instead",
   "Billing periods are calculated in UTC: cancel well before the renewal date",
   "If a payment fails there is a 15-day grace period; after it, the subscription drops to free and paid features are disabled",
   "Docker Desktop at a company with 250 or more employees, or $10 million or more in revenue, isn't covered by the free terms",
   "Pay by invoice is only available for renewing annual subscriptions",
   "Deactivating the account is permanent, and needs the paid plan cancelled and your organizations left first"
  ]
 },
 "sources": [
  {
   "id": "s1",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Sign in to Docker Home and go to Billing.",
   "supports": "where cancelling starts"
  },
  {
   "id": "s2",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "From Active plans, select the action menu next to your Docker plan.",
   "supports": "the action menu step"
  },
  {
   "id": "s3",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Select Cancel plan and complete the feedback survey.",
   "supports": "the final step and the survey"
  },
  {
   "id": "s4",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "You can cancel at any time before your renewal date, but you can't pause or delay a plan.",
   "supports": "cancel before renewal; no pause"
  },
  {
   "id": "s5",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "While the unused portion is not refundable, you still retain access to paid features until the end of the current billing cycle.",
   "supports": "when access ends; no refund of the unused portion"
  },
  {
   "id": "s6",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Canceling a paid plan returns your account to Docker Personal or a basic organization account.",
   "supports": "what the account becomes"
  },
  {
   "id": "s7",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Docker Pro private repository collaborators are removed and additional private repositories are locked.",
   "supports": "what is lost on cancelling"
  },
  {
   "id": "s8",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Docker Team or Docker Business members provisioned through SCIM without a password will be locked out.",
   "supports": "SCIM members are locked out"
  },
  {
   "id": "s9",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "For paid individual and organization plans, you must convert private repositories to fit your new plan limits.",
   "supports": "private repositories must fit the free limit"
  },
  {
   "id": "s10",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Billing periods are calculated in UTC (Coordinated Universal Time)",
   "supports": "billing periods run in UTC"
  },
  {
   "id": "s11",
   "url": "https://www.docker.com/pricing/faq/",
   "title": "Docker Pricing FAQs",
   "publisher": "vendor",
   "quote": "Self-serve customers can cancel their subscription at any time prior to the renewal date, but are not subject to refunds outside of a 15-day window.",
   "supports": "auto-renewal timing and the 15-day refund window"
  },
  {
   "id": "s12",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "if you have a sales-assisted Docker Business plan, you must contact your account manager to cancel",
   "supports": "sales-assisted plans cancel through the account manager"
  },
  {
   "id": "s13",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "The Initial Term will automatically renew for additional 12-month periods unless a party provides at least 30 days' written notice prior to the end of the then-current term",
   "supports": "auto-renewal and the 30-day notice"
  },
  {
   "id": "s14",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "In the case of non-renewal by Customer, notice of non-renewal by email shall be sent to sales@docker.com.",
   "supports": "how notice is sent"
  },
  {
   "id": "s15",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "all fees and other amounts payable by Customer under this Agreement are non-refundable, and Customer's payment obligations are non-cancelable",
   "supports": "no refunds on contracts"
  },
  {
   "id": "s16",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "all fees owed by Customer to Docker pursuant to such Order Form or this Agreement (as applicable) will be immediately due",
   "supports": "fees owed at the end of an order form"
  },
  {
   "id": "s17",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "Downgrade it to a Docker Personal subscription",
   "supports": "cancel the paid plan before deactivating"
  },
  {
   "id": "s18",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "If you are an organization or company owner, you must leave your organization or company before deactivating your Docker account",
   "supports": "leave organizations first"
  },
  {
   "id": "s19",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "Download any images and tags you want to keep.",
   "supports": "export images before leaving"
  },
  {
   "id": "s20",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "Select your avatar to open the drop-down menu. Select Account settings.",
   "supports": "where deactivation starts"
  },
  {
   "id": "s21",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "Select Deactivate account, then select again to confirm.",
   "supports": "the confirmation step"
  },
  {
   "id": "s22",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "All Docker products and services that use your Docker account are inaccessible after deactivating your account.",
   "supports": "what deactivating does"
  },
  {
   "id": "s23",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "permanent and can't be undone",
   "supports": "deactivation is permanent"
  },
  {
   "id": "s24",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "Docker Personal is free for individual developers",
   "supports": "the free plan"
  },
  {
   "id": "s25",
   "url": "https://www.docker.com/pricing/",
   "title": "Docker Pricing",
   "publisher": "vendor",
   "quote": "100 pulls/hr per user",
   "supports": "the free plan's pull limit"
  },
  {
   "id": "s26",
   "url": "https://docs.docker.com/subscription-billing/desktop-license/",
   "title": "Docker Desktop license agreement",
   "publisher": "vendor",
   "quote": "Small businesses (fewer than 250 employees AND less than $10 million in annual revenue)",
   "supports": "free Docker Desktop for small businesses"
  },
  {
   "id": "s27",
   "url": "https://docs.docker.com/subscription-billing/desktop-license/",
   "title": "Docker Desktop license agreement",
   "publisher": "vendor",
   "quote": "Non-commercial open source projects",
   "supports": "free Docker Desktop for non-commercial open source"
  },
  {
   "id": "s28",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "When you remove seats, you must remove members from your organization",
   "supports": "removing seats"
  },
  {
   "id": "s29",
   "url": "https://www.docker.com/pricing/faq/",
   "title": "Docker Pricing FAQs",
   "publisher": "vendor",
   "quote": "You must contact the Docker Sales and Support team to complete the downgrade process.",
   "supports": "Business to Team needs Sales and Support"
  },
  {
   "id": "s30",
   "url": "https://www.docker.com/pricing/faq/",
   "title": "Docker Pricing FAQs",
   "publisher": "vendor",
   "quote": "The Pro plan does not include the support of the Hub organization and only allows a single user usage.",
   "supports": "Team or Business can't move to Pro"
  },
  {
   "id": "s31",
   "url": "https://www.docker.com/pricing/faq/",
   "title": "Docker Pricing FAQs",
   "publisher": "vendor",
   "quote": "The customers can decide to stay on the Team plan with a minimum one user or cancel the subscription at the end of the subscription period.",
   "supports": "staying on Team with one user"
  },
  {
   "id": "s32",
   "url": "https://www.docker.com/pricing/faq/",
   "title": "Docker Pricing FAQs",
   "publisher": "vendor",
   "quote": "For all self-serve subscriptions, the plan will be automatically renewed at the end of the subscription period.",
   "supports": "self-serve plans auto-renew"
  },
  {
   "id": "s33",
   "url": "https://docs.docker.com/faqs/subscription-billing/",
   "title": "Subscription and billing FAQs",
   "publisher": "vendor",
   "quote": "You can't pause or delay a subscription, but you can downgrade your subscription.",
   "supports": "no pause"
  },
  {
   "id": "s34",
   "url": "https://docs.docker.com/faqs/subscription-billing/",
   "title": "Subscription and billing FAQs",
   "publisher": "vendor",
   "quote": "If your subscription payment fails, there is a grace period of 15 days, including the due date.",
   "supports": "the failed-payment grace period"
  },
  {
   "id": "s35",
   "url": "https://docs.docker.com/faqs/subscription-billing/",
   "title": "Subscription and billing FAQs",
   "publisher": "vendor",
   "quote": "the subscription downgrades to a free subscription and all paid features are disabled",
   "supports": "what happens after the grace period"
  },
  {
   "id": "s36",
   "url": "https://docs.docker.com/faqs/subscription-billing/",
   "title": "Subscription and billing FAQs",
   "publisher": "vendor",
   "quote": "Pay by invoice is only available for renewing annual subscriptions, not for purchasing upgrades or additional seats.",
   "supports": "pay by invoice"
  },
  {
   "id": "s37",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "Docker may delete Customer's usage history and data files older than 12 months or within 90 days of the termination of this Agreement",
   "supports": "data deletion after termination"
  },
  {
   "id": "s38",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "may be deleted within 30 days from termination",
   "supports": "the shorter period for free accounts"
  },
  {
   "id": "s39",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "To request personal data deletion, fill out Docker's Privacy request form.",
   "supports": "personal data deletion is a separate request"
  },
  {
   "id": "s40",
   "url": "https://docs.docker.com/subscription-billing/plans/docker/",
   "title": "Docker plans",
   "publisher": "vendor",
   "quote": "unlimited private repositories, Docker Build Cloud, and commercial Docker Desktop use",
   "supports": "the paid features you lose"
  },
  {
   "id": "s41",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "Any agreement between Customer and a Marketplace or Reseller is solely between Customer and that Marketplace or Reseller with respect to fees and the Subscription Term",
   "supports": "marketplace and reseller purchases: fees and term are set with them"
  },
  {
   "id": "s42",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "if they purchased the Services via a Reseller or Marketplace, upon auto-renewal the Services may automatically renew via a direct invoice subject to that Reseller's or Marketplace's renewal terms.",
   "supports": "renewal may come as a direct Docker invoice"
  },
  {
   "id": "s43",
   "url": "https://www.docker.com/legal/docker-subscription-service-agreement/",
   "title": "Docker Subscription Service Agreement",
   "publisher": "vendor",
   "quote": "If Customer purchases through a Marketplace or Reseller, Customer will be responsible for full payment of the Fees for the Subscription Term",
   "supports": "full fees for the term are owed"
  },
  {
   "id": "s44",
   "url": "https://docs.docker.com/accounts/deactivate-user-account/",
   "title": "Deactivate an account",
   "publisher": "vendor",
   "quote": "If you linked a GitHub or Bitbucket account for automated builds, unlink it.",
   "supports": "unlink build accounts before deactivating"
  }
 ],
 "verification": {
  "level": "docs",
  "checked_on": "2026-10-05",
  "by": "stackcut-research",
  "unverified": [
   "Which organization roles can cancel a Team or Business plan isn't stated on Docker's plan page",
   "Docker's docs don't say when a seat reduction takes effect or whether removed seats are credited",
   "Docker doesn't describe a confirmation email or screen after Cancel plan",
   "Whether annual billing costs less isn't confirmed: Docker's pricing page lists two prices for Pro and Team without saying in its text which is the annual one",
   "How to stop a Docker subscription on a specific marketplace, such as AWS Marketplace, isn't described on Docker's public pages; its subscription agreement leaves fees and the term to the marketplace or reseller"
  ],
  "review": {
   "by": "stackcut-review",
   "on": "2026-10-05",
   "result": "fixed",
   "notes": [
    "Re-checked every route, pay_less and export fact against Docker's docs, pricing FAQ and subscription agreement; all confirmed, and every quote is on its page",
    "Added a route for subscriptions bought through a marketplace or reseller: Docker's agreement leaves fees and the term to them, the full term's fees are owed, and renewal may come as a direct Docker invoice (s41 to s43)",
    "Deactivation: added unlinking GitHub or Bitbucket accounts used for automated builds, which Docker lists as a prerequisite (s44)"
   ]
  }
 },
 "delete_account": {
  "url": "https://hub.docker.com/settings/deactivate",
  "difficulty": "easy",
  "source": "JustDeleteMe (MIT), https://github.com/jdm-contrib/jdm"
 },
 "page": "https://stackcut.io/cancel/docker",
 "json": "https://stackcut.io/exits/docker.json",
 "evidence": {
  "packet_revision": "a4f1672659368392c72a9b3e1283234a154d3660575f26377bc7b8c0e95e8e05",
  "docs_checked_on": "2026-10-05",
  "last_observed_success_on": null,
  "verification": "docs",
  "freshness": {
   "as_of": "2026-10-09",
   "status": "current",
   "checked_on": "2026-10-05",
   "age_days": 4,
   "stale_after_days": 30,
   "next_check_on": "2026-11-04"
  },
  "routes": [
   {
    "route_id": "docker--direct-web--r1",
    "channel": "direct_web",
    "checked_on": "2026-10-05",
    "freshness": {
     "as_of": "2026-10-09",
     "status": "current",
     "checked_on": "2026-10-05",
     "age_days": 4,
     "stale_after_days": 30,
     "next_check_on": "2026-11-04"
    }
   },
   {
    "route_id": "docker--sales-contract--r2",
    "channel": "sales_contract",
    "checked_on": "2026-10-05",
    "freshness": {
     "as_of": "2026-10-09",
     "status": "current",
     "checked_on": "2026-10-05",
     "age_days": 4,
     "stale_after_days": 30,
     "next_check_on": "2026-11-04"
    }
   },
   {
    "route_id": "docker--reseller-or-partner--r3",
    "channel": "reseller_or_partner",
    "checked_on": "2026-10-05",
    "freshness": {
     "as_of": "2026-10-09",
     "status": "current",
     "checked_on": "2026-10-05",
     "age_days": 4,
     "stale_after_days": 30,
     "next_check_on": "2026-11-04"
    }
   },
   {
    "route_id": "docker--direct-web--r4",
    "channel": "direct_web",
    "checked_on": "2026-10-05",
    "freshness": {
     "as_of": "2026-10-09",
     "status": "current",
     "checked_on": "2026-10-05",
     "age_days": 4,
     "stale_after_days": 30,
     "next_check_on": "2026-11-04"
    }
   }
  ]
 },
 "license": "CC-BY-4.0",
 "credit": "Stackcut Exits (https://stackcut.io/cancel), CC BY 4.0"
}
