[
  {
    "id": "shipstatic",
    "name": "ShipStatic",
    "url": "https://www.shipstatic.com/",
    "color": "green",
    "description": "Static websites, published from your agent.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "MCP + API",
    "freeHeadline": "100 deployments",
    "freeDetail": "1 named subdomain · password protection",
    "account": "Optional to publish; required to keep sites",
    "retention": "Unclaimed sites expire after 3 days",
    "storage": "See deployment-size limits",
    "password": "Included on Free",
    "domains": "Paid: 3 custom domains on Pro",
    "paid": "$4.99/month",
    "paidNote": "Pro: $49.90/year when billed annually",
    "bestFor": "Sharing a finished static website from an AI chat.",
    "caveat": "The free allowance counts retained deployment snapshots, not 100 named websites. Claim anonymous publishes to keep them.",
    "sources": [
      {
        "label": "Plans",
        "url": "https://docs.shipstatic.com/plans"
      },
      {
        "label": "Live plan menu",
        "url": "https://api.shipstatic.com/plans"
      },
      {
        "label": "Agent publishing",
        "url": "https://www.shipstatic.com/agents"
      },
      {
        "label": "Pricing",
        "url": "https://www.shipstatic.com/pricing"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": true,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "shipstatic"
  },
  {
    "id": "upfling",
    "name": "Upfling",
    "url": "https://upfling.host/",
    "color": "orange",
    "description": "A link for your websites and documents.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "MCP + API",
    "freeHeadline": "2 sites · 25 MB",
    "freeDetail": "Free account · no trial countdown",
    "account": "Free account required to publish",
    "retention": "Free plan has no trial countdown",
    "storage": "25 MB across your sites",
    "password": "Paid: Lite and above",
    "domains": "Paid: Lite and above",
    "paid": "$3.99/month",
    "paidNote": "Lite USD price shown on homepage; regional pricing varies",
    "bestFor": "Sharing HTML, Markdown, images, or PDFs at a stable link.",
    "caveat": "Free storage is shared across your sites. Advanced PDF editing/viewing is listed on Pro; basic file hosting is advertised separately.",
    "sources": [
      {
        "label": "Features and USD prices",
        "url": "https://upfling.host/"
      },
      {
        "label": "Plan comparison",
        "url": "https://upfling.host/pricing"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": false,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "upfling"
  },
  {
    "id": "embarko",
    "name": "Embarko",
    "url": "https://embarko.ai/",
    "color": "purple",
    "description": "Static sites and small running apps.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": true,
    "agentLabel": "MCP + API",
    "freeHeadline": "Static sites + 1 app",
    "freeDetail": "Anonymous apps expire after 24 hours",
    "account": "Optional first deploy; claim for retention",
    "retention": "Anonymous apps expire after 24 hours",
    "storage": "Check current runtime and upload limits",
    "password": "Not verified in reviewed documentation",
    "domains": "Paid: Creator and above",
    "paid": "$9/month, billed yearly",
    "paidNote": "Creator: $108 annually; monthly billing price not verified",
    "bestFor": "An AI-built project that needs a small server process.",
    "caveat": "Currently labeled beta. Connector docs list Claude and public archive uploads. Check capabilities for runtime needs; pricing and overview documentation disagree on some advanced features.",
    "sources": [
      {
        "label": "Pricing",
        "url": "https://embarko.ai/pricing"
      },
      {
        "label": "Agent quickstart",
        "url": "https://embarko.ai/docs/agent-quickstart.md"
      },
      {
        "label": "Connectors",
        "url": "https://embarko.ai/docs/connectors"
      },
      {
        "label": "Overview",
        "url": "https://embarko.ai/docs/overview"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser",
        "server"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "embarko"
  },
  {
    "id": "tiiny-host",
    "name": "Tiiny Host",
    "url": "https://tiiny.host/",
    "color": "purple",
    "description": "Websites and documents, shared from your agent.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "MCP · paid API",
    "freeHeadline": "1 site · 3 MB uploads",
    "freeDetail": "5,000 visits/month · 3 uploads/day",
    "account": "Account for permanent publishing; anonymous trial available",
    "retention": "Anonymous upload expires after 1 hour",
    "storage": "3 MB upload limit; 5 GB monthly bandwidth",
    "password": "Paid: Solo and above",
    "domains": "Paid: Solo and above",
    "paid": "From $5/month, billed yearly",
    "paidNote": "Tiny annual equivalent; Solo is $13/month billed yearly",
    "bestFor": "Sharing small static sites, PDFs, and agent-generated documents.",
    "caveat": "Free includes MCP, branding, and three daily uploads including updates. REST API keys require Solo or above. Anonymous publishing is temporary.",
    "sources": [
      {
        "label": "Free limits and paid plans",
        "url": "https://tiiny.host/use-case/codex-hosting/"
      },
      {
        "label": "Agent publishing and anonymous expiry",
        "url": "https://tiiny.host/feature/agent-friendly/"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": false,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "tiiny-host"
  },
  {
    "id": "here-now",
    "name": "here.now",
    "url": "https://here.now/",
    "color": "green",
    "description": "Agent-made artifacts with account-owned storage.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "API + skill",
    "freeHeadline": "500 sites · 10 GB",
    "freeDetail": "1 custom domain · anonymous links expire",
    "account": "Optional to publish; claim with an account to keep sites",
    "retention": "Anonymous sites expire after 24 hours; owned sites can be retained",
    "storage": "10 GB shared by site versions and current Drive files",
    "password": "Available; verify plan terms",
    "domains": "1 custom domain on Free",
    "paid": "$4/month",
    "paidNote": "Hobby price from the published machine-readable plan menu",
    "bestFor": "Publishing files and interactive artifacts directly from an agent.",
    "caveat": "Public URLs are not private access. Anonymous links expire after 24 hours. Documentation does not claim a public MCP server; use its API or skill.",
    "sources": [
      {
        "label": "Pricing and limits",
        "url": "https://here.now/pricing.md"
      },
      {
        "label": "API, ownership, and access",
        "url": "https://here.now/docs"
      },
      {
        "label": "Features",
        "url": "https://here.now/"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "here-now"
  },
  {
    "id": "cloudflare-pages",
    "name": "Cloudflare Pages",
    "url": "https://pages.cloudflare.com/",
    "color": "orange",
    "description": "Static sites on Cloudflare’s global network.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "API + CLI",
    "freeHeadline": "500 builds/month",
    "freeDetail": "20,000 files/site · custom domains",
    "account": "Cloudflare account required",
    "retention": "Ongoing Free plan; usage limits apply",
    "storage": "20,000 files per site; 25 MiB maximum per asset",
    "password": "Not verified in reviewed documentation",
    "domains": "Up to 100 custom domains per project on Free",
    "paid": "See Cloudflare plans",
    "paidNote": "Higher-tier pricing not verified; static and function quotas differ",
    "bestFor": "Publishing a built static website through upload, CLI, or Git.",
    "caveat": "Dashboard drag-and-drop is limited to 1,000 files; Wrangler supports 20,000. Dynamic Pages Functions use separate Workers quotas.",
    "sources": [
      {
        "label": "Free limits",
        "url": "https://developers.cloudflare.com/pages/platform/limits/"
      },
      {
        "label": "Direct uploads",
        "url": "https://developers.cloudflare.com/pages/get-started/direct-upload/"
      },
      {
        "label": "Deployment API",
        "url": "https://developers.cloudflare.com/api/resources/pages/subresources/projects/subresources/deployments/methods/create/"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "cloudflare-pages"
  },
  {
    "id": "netlify",
    "name": "Netlify",
    "url": "https://www.netlify.com/",
    "color": "green",
    "description": "Websites and serverless apps with agent tooling.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": true,
    "agentLabel": "MCP + API",
    "freeHeadline": "300 credits/month",
    "freeDetail": "Custom domains · monthly hard limit",
    "account": "Netlify account required",
    "retention": "Projects pause when the monthly allowance is exhausted",
    "storage": "Not separately verified; usage draws from monthly credits",
    "password": "Paid: Pro",
    "domains": "Custom domains with SSL on Free",
    "paid": "$9/month",
    "paidNote": "Personal plan; current credit-based pricing, not legacy plans",
    "bestFor": "A website or serverless application with preview and Git workflows.",
    "caveat": "Production deploys cost 15 credits each; traffic and compute also consume credits. If one project exhausts the allowance, all projects on the account can pause.",
    "sources": [
      {
        "label": "Current pricing",
        "url": "https://www.netlify.com/pricing/"
      },
      {
        "label": "Credit-based plans",
        "url": "https://docs.netlify.com/manage/accounts-and-billing/billing/billing-for-credit-based-plans/credit-based-pricing-plans/"
      },
      {
        "label": "Agent setup",
        "url": "https://docs.netlify.com/build/build-with-ai/agent-setup-guides/agent-setup-overview/"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser",
        "serverless"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": false,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "netlify"
  },
  {
    "id": "surge",
    "name": "Surge",
    "url": "https://surge.sh/",
    "color": "purple",
    "description": "Publish a static folder from the command line.",
    "formats": [
      "html"
    ],
    "agent": false,
    "agentLabel": "CLI",
    "freeHeadline": "Unlimited publishing",
    "freeDetail": "Custom domain · basic SSL",
    "account": "Surge account required",
    "retention": "No fixed free-plan expiry stated on pricing page",
    "storage": "Storage ceiling not verified",
    "password": "Paid: Professional",
    "domains": "Custom domain included on Free",
    "paid": "$30/month",
    "paidNote": "Surge Professional price from the current pricing page",
    "bestFor": "Quick command-line publishing of an already-built static folder.",
    "caveat": "Free advertises basic SSL. Custom SSL, forced HTTPS redirects, and password protection are listed on Professional. Dedicated MCP publishing was not verified.",
    "sources": [
      {
        "label": "Plans and features",
        "url": "https://surge.sh/pricing"
      },
      {
        "label": "Publishing documentation",
        "url": "https://surge.sh/docs/getting-started"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": false,
      "commercial": null,
      "alwaysOn": null
    },
    "slug": "surge"
  },
  {
    "id": "github-pages",
    "name": "GitHub Pages",
    "url": "https://pages.github.com/",
    "color": "green",
    "description": "Public project sites, published from a repository.",
    "formats": [
      "html"
    ],
    "agent": false,
    "agentLabel": "Git + Actions",
    "freeHeadline": "1 GB published site",
    "freeDetail": "Public repo on Free · commercial restrictions",
    "account": "GitHub account; public source repository on Free",
    "retention": "Ongoing hosting subject to Pages limits and acceptable use",
    "storage": "1 GB site limit; 100 GB/month soft bandwidth limit",
    "password": "Not verified in reviewed documentation",
    "domains": "Custom domains supported",
    "paid": "See GitHub plans",
    "paidNote": "Paid GitHub plans support Pages from private source repositories",
    "bestFor": "Open-source project documentation and personal static sites.",
    "caveat": "Pages is not allowed as free hosting for an online business, e-commerce, or commercial SaaS. Free source repositories are public. Git publishing is not an artifact-upload MCP workflow.",
    "sources": [
      {
        "label": "Eligibility and usage limits",
        "url": "https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits"
      },
      {
        "label": "Sites and domains",
        "url": "https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages"
      }
    ],
    "checked": "2026-10-11",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": null
    },
    "slug": "github-pages"
  },
  {
    "id": "vercel",
    "name": "Vercel",
    "url": "https://vercel.com/",
    "color": "purple",
    "description": "Frontend and serverless hosting for personal projects.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": true,
    "agentLabel": "MCP + CLI",
    "freeHeadline": "Hobby: 100 GB transfer",
    "freeDetail": "Personal, noncommercial use only",
    "account": "Vercel account required",
    "retention": "Usage caps can pause features until their limits reset",
    "storage": "Storage products have separate quotas; see plan documentation",
    "password": "Shared password protection is paid: Pro add-on; Hobby has Vercel Authentication instead",
    "domains": "Custom domains included on Hobby; 50 domains per project",
    "paid": "$20/month",
    "paidNote": "Pro starting price; additional usage and plan terms apply",
    "bestFor": "Personal frontend projects and framework-based serverless apps.",
    "caveat": "Hobby is restricted to personal, noncommercial use. It includes 100 daily deployments and 1 million monthly CDN requests; runtime and storage have separate limits.",
    "sources": [
      {
        "label": "Hobby limits and restrictions",
        "url": "https://vercel.com/docs/plans/hobby"
      },
      {
        "label": "Pricing",
        "url": "https://vercel.com/pricing"
      },
      {
        "label": "Agent tools",
        "url": "https://vercel.com/docs/agent-resources/vercel-mcp"
      }
    ],
    "checked": "2026-10-12",
    "capabilities": {
      "runtimes": [
        "browser",
        "serverless"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": false,
      "commercial": false,
      "alwaysOn": null
    },
    "slug": "vercel"
  },
  {
    "id": "beacon",
    "name": "Beacon",
    "url": "https://beacon.host/",
    "color": "green",
    "description": "Sharing agent-made sites, files and JavaScript APIs.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "MCP + API + skill",
    "freeHeadline": "10 GB per site",
    "freeDetail": "10,000 files/version · free passwords",
    "account": "Optional for static publishing; free email account for retention and Workers",
    "retention": "Anonymous sites expire after 24 hours; claimed sites have no fixed expiry",
    "storage": "10 GB/site; account uploads up to 5 GB/file",
    "password": "Free shared password protection for static sites",
    "domains": "Not supported yet",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Sharing agent-made sites, files and JavaScript APIs.",
    "caveat": "Intended for sharing agent output. Workers and static sites use separate origins. External model and data services have separate costs. Own domains are not supported yet.",
    "sources": [
      {
        "label": "Free limits",
        "url": "https://beacon.host/"
      },
      {
        "label": "Publishing API",
        "url": "https://beacon.host/docs"
      },
      {
        "label": "Workers",
        "url": "https://beacon.host/workers"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "No paid plans currently",
    "capabilities": {
      "runtimes": [
        "browser",
        "serverless"
      ],
      "agentModes": [
        "agent"
      ],
      "freeDomain": false,
      "freePassword": true,
      "commercial": null,
      "alwaysOn": false,
      "freePasswordRuntimes": [
        "browser"
      ],
      "freePasswordAgentModes": []
    },
    "execution": "Workers: 3 MB code bundle; server-side JavaScript",
    "slug": "beacon"
  },
  {
    "id": "display-dev",
    "name": "Display.dev",
    "url": "https://display.dev/",
    "color": "green",
    "description": "Sharing HTML and Markdown artifacts with reviewers.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "MCP + CLI",
    "freeHeadline": "50 MB · 3 gated artifacts",
    "freeDetail": "10 MB/artifact · branded public artifacts",
    "account": "Free account; up to 2 publisher API keys",
    "retention": "Ongoing Free plan; fixed artifact expiry not verified",
    "storage": "50 MB total; 10 MB/artifact",
    "password": "Email one-time-password access for 3 artifacts; shared site password not verified",
    "domains": "Paid: Enterprise",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Sharing HTML and Markdown artifacts with reviewers.",
    "caveat": "Free gated access uses emailed one-time passwords, not a shared site password. Pro trial returns to Free without billing setup. Public artifacts carry branding.",
    "sources": [
      {
        "label": "Free plan",
        "url": "https://display.dev/pricing"
      },
      {
        "label": "Publishing docs",
        "url": "https://display.dev/docs"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "No card required for Free",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    },
    "slug": "display-dev"
  },
  {
    "id": "sharenow",
    "name": "sharenow",
    "url": "https://sharenow.today/",
    "color": "green",
    "description": "Keeping a few agent-made static sites online.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "API + skill",
    "freeHeadline": "3 permanent sites",
    "freeDetail": "250 MB storage · 5 GB transfer/month",
    "account": "Verified email account for permanent Free sites",
    "retention": "Anonymous links last 1 hour; verified-account sites permanent within capacity",
    "storage": "250 MB combined Site/Drive storage",
    "password": "Paid: Site packs or All Access",
    "domains": "Paid: Site packs or All Access",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Keeping a few agent-made static sites online.",
    "caveat": "Free includes attribution. Passwords and domains need paid Site packs. Full-stack apps and SPA fallback are not included on Free.",
    "sources": [
      {
        "label": "Free limits",
        "url": "https://sharenow.today/limits"
      },
      {
        "label": "Plans",
        "url": "https://sharenow.today/pricing"
      },
      {
        "label": "Publishing",
        "url": "https://sharenow.today/docs"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "No billing on the free account plan",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": false,
      "commercial": null,
      "alwaysOn": false
    },
    "slug": "sharenow"
  },
  {
    "id": "firebase-hosting",
    "name": "Firebase Hosting",
    "url": "https://firebase.google.com/products/hosting",
    "color": "green",
    "description": "Deploying static websites and browser apps on Firebase Spark.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "API + CLI",
    "freeHeadline": "10 GB storage",
    "freeDetail": "Spark: 360 MB transfer/day · custom domains",
    "account": "Google/Firebase account required",
    "retention": "Live-site Free hosting subject to quotas; preview channels expire separately",
    "storage": "10 GB Hosting storage shared within project",
    "password": "Not verified in reviewed documentation",
    "domains": "Custom domains and SSL included on Spark",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Deploying static websites and browser apps on Firebase Spark.",
    "caveat": "Spark hosting does not include Cloud Functions or Firebase App Hosting. Stay within Hosting quotas; other Firebase products have separate billing rules.",
    "sources": [
      {
        "label": "Spark pricing",
        "url": "https://firebase.google.com/pricing"
      },
      {
        "label": "Deployment API",
        "url": "https://firebase.google.com/docs/hosting/api-deploy"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Spark does not require a payment method",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    },
    "slug": "firebase-hosting"
  },
  {
    "id": "render",
    "name": "Render",
    "url": "https://render.com/",
    "color": "green",
    "description": "Testing agent endpoints and small HTTP server apps.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": true,
    "agentLabel": "API + CLI",
    "freeHeadline": "750 server-hours/month",
    "freeDetail": "Free static sites · sleeping web services",
    "account": "Render account required",
    "retention": "Web services sleep after 15 minutes idle; quotas reset monthly",
    "storage": "Free server filesystem is ephemeral; persistent disks are paid",
    "password": "Not verified in reviewed documentation",
    "domains": "Custom domains and managed TLS supported",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Testing agent endpoints and small HTTP server apps.",
    "caveat": "Free instances are not for production. Local files disappear on sleep/restart. Free Postgres expires after 30 days. Bandwidth/build overages can bill with a payment method.",
    "sources": [
      {
        "label": "Free instance limits",
        "url": "https://render.com/docs/free"
      },
      {
        "label": "Current plan allowances",
        "url": "https://render.com/pricing"
      },
      {
        "label": "Deployment workflow",
        "url": "https://render.com/docs/your-first-deploy"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Without a card, exhausted bandwidth suspends Free services; with a card, overages may bill",
    "capabilities": {
      "runtimes": [
        "browser",
        "server"
      ],
      "agentModes": [
        "agent"
      ],
      "freeDomain": true,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": false
    },
    "execution": "750 hours/workspace/month; 15-minute idle sleep",
    "slug": "render"
  },
  {
    "id": "neocities",
    "name": "Neocities",
    "url": "https://neocities.org/",
    "color": "green",
    "description": "Publishing an independent static website through an upload API.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "API + CLI",
    "freeHeadline": "1 GB storage",
    "freeDetail": "200 GB bandwidth · static websites",
    "account": "Neocities account required",
    "retention": "No fixed expiry stated in reviewed plan documentation",
    "storage": "1 GB storage; uploads limited to permitted website file types",
    "password": "Not verified in reviewed documentation",
    "domains": "Paid: Supporter",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Publishing an independent static website through an upload API.",
    "caveat": "Free has a file whitelist and anti-hotlinking/CORS restrictions; it is not arbitrary file storage. Custom domains require Supporter. Check terms before externally generating sites for others.",
    "sources": [
      {
        "label": "Free versus Supporter",
        "url": "https://neocities.org/supporter"
      },
      {
        "label": "Upload API",
        "url": "https://neocities.org/api"
      },
      {
        "label": "Allowed files",
        "url": "https://neocities.org/site_files/allowed_types"
      },
      {
        "label": "Terms",
        "url": "https://neocities.org/terms"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Not verified in reviewed documentation",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    },
    "slug": "neocities"
  },
  {
    "id": "gitlab-pages",
    "name": "GitLab Pages",
    "url": "https://docs.gitlab.com/user/project/pages/",
    "color": "green",
    "description": "Publishing static project websites with Git and CI.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "Git + CI + API",
    "freeHeadline": "1 GB deployed site",
    "freeDetail": "400 CI compute minutes/month on Free",
    "account": "GitLab account and repository; risk-based phone/card verification may apply",
    "retention": "Live Pages hosting is distinct from CI artifact expiry",
    "storage": "1 GB deployed site; repository/LFS quota is separate",
    "password": "GitLab identity-based access control; not a shared password",
    "domains": "Custom domains and TLS supported",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Publishing static project websites with Git and CI.",
    "caveat": "CI setup is required. GitLab-login access control is not a shared password. Account verification and build quotas apply.",
    "sources": [
      {
        "label": "Pages",
        "url": "https://docs.gitlab.com/user/project/pages/"
      },
      {
        "label": "Free pricing",
        "url": "https://about.gitlab.com/pricing/"
      },
      {
        "label": "Site limits",
        "url": "https://docs.gitlab.com/user/gitlab_com/"
      },
      {
        "label": "Verification",
        "url": "https://docs.gitlab.com/security/identity_verification/"
      },
      {
        "label": "Access control",
        "url": "https://docs.gitlab.com/user/project/pages/pages_access_control/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Not verified in reviewed documentation",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    },
    "slug": "gitlab-pages"
  },
  {
    "id": "cloudflare-workers",
    "name": "Cloudflare Workers",
    "url": "https://workers.cloudflare.com/",
    "color": "green",
    "description": "Hosting event-driven agents and remote MCP tools.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "API + Wrangler CLI",
    "freeHeadline": "100,000 requests/day",
    "freeDetail": "10 ms CPU/invocation · Workers Free",
    "account": "Cloudflare account required",
    "retention": "Ongoing Free quotas; request limit resets daily",
    "storage": "KV and Durable Objects have separate Free storage/read/write quotas",
    "password": "Not verified in reviewed documentation",
    "domains": "Custom domains supported with an active Cloudflare zone; domain purchase is separate",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Hosting event-driven agents and remote MCP tools.",
    "caveat": "10 ms measures CPU, not time waiting for network calls. This is not an always-running Linux server. External model API calls cost separately.",
    "sources": [
      {
        "label": "Workers Free pricing",
        "url": "https://developers.cloudflare.com/workers/platform/pricing/"
      },
      {
        "label": "Remote MCP hosting",
        "url": "https://developers.cloudflare.com/agents/model-context-protocol/guides/remote-mcp-server/"
      },
      {
        "label": "Domain limits",
        "url": "https://developers.cloudflare.com/workers/platform/limits/"
      },
      {
        "label": "Custom domains",
        "url": "https://developers.cloudflare.com/workers/configuration/routing/custom-domains/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Not verified in reviewed documentation",
    "capabilities": {
      "runtimes": [
        "serverless"
      ],
      "agentModes": [
        "agent",
        "mcp"
      ],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    },
    "execution": "10 ms CPU/invocation; event-driven execution",
    "slug": "cloudflare-workers"
  },
  {
    "id": "edgeone-makers",
    "name": "EdgeOne Makers",
    "url": "https://pages.edgeone.ai/",
    "color": "green",
    "description": "Hosting small agent apps, MCP servers and code sandboxes.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": true,
    "agentLabel": "API + CLI",
    "freeHeadline": "Free apps, agents & sandboxes",
    "freeDetail": "Agents and sandboxes: 100,000 GB-seconds/month each",
    "account": "EdgeOne Makers account required",
    "retention": "Permanent Free plan; project inactivity retention not verified",
    "storage": "1 GB KV and 1 GB Blob under current Free quotas",
    "password": "Not verified in reviewed documentation",
    "domains": "200 custom domains and TLS under current Free quotas",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Hosting small agent apps, MCP servers and code sandboxes.",
    "caveat": "Free quotas may change after commercialization. Sessions are limited, not always-on. Built-in model-token docs disagree on trial versus renewal, so no free inference allowance is claimed.",
    "sources": [
      {
        "label": "Free pricing",
        "url": "https://pages.edgeone.ai/pricing"
      },
      {
        "label": "Quotas",
        "url": "https://pages.edgeone.ai/document/limits-and-quotas"
      },
      {
        "label": "Agent execution",
        "url": "https://pages.edgeone.ai/document/agents"
      },
      {
        "label": "MCP template",
        "url": "https://pages.edgeone.ai/templates/self-hosted-pages-mcp"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Not verified in reviewed documentation",
    "capabilities": {
      "runtimes": [
        "browser",
        "serverless"
      ],
      "agentModes": [
        "agent",
        "mcp",
        "sandbox"
      ],
      "freeDomain": true,
      "freePassword": null,
      "commercial": true,
      "alwaysOn": false,
      "freeDomainAgentModes": [
        "mcp"
      ]
    },
    "execution": "Agent and sandbox sessions: maximum 1 hour",
    "slug": "edgeone-makers"
  },
  {
    "id": "upstash-box",
    "name": "Upstash Box",
    "url": "https://upstash.com/box",
    "color": "green",
    "description": "Giving an agent a durable place to execute code.",
    "formats": [],
    "agent": true,
    "agentLabel": "SDK + shell",
    "freeHeadline": "5 active CPU core-hours/month",
    "freeDetail": "10 concurrent boxes · durable disk",
    "account": "Upstash account required",
    "retention": "Freezes after 1 hour idle; disk survives freeze; long-inactivity retention not verified",
    "storage": "Small box: up to 5 GB durable disk",
    "password": "Not verified in reviewed documentation",
    "domains": "Not verified in reviewed documentation",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Giving an agent a durable place to execute code.",
    "caveat": "CPU core-hours measure active CPU consumption, not elapsed sessions. Free boxes freeze when idle; paid keep-alive is separate. Model APIs and free-disk retention need independent checks.",
    "sources": [
      {
        "label": "Box Free pricing",
        "url": "https://upstash.com/pricing/box"
      },
      {
        "label": "Durability and execution",
        "url": "https://upstash.com/docs/box/overall/how-it-works"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Not verified in reviewed documentation",
    "capabilities": {
      "runtimes": [],
      "agentModes": [
        "sandbox"
      ],
      "freeDomain": null,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    },
    "execution": "Small box: 2 vCPU, 4 GB RAM; freezes after 1 hour idle",
    "slug": "upstash-box"
  },
  {
    "id": "northflank",
    "name": "Northflank",
    "url": "https://northflank.com/",
    "color": "green",
    "description": "Running small experimental agents and scheduled jobs.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "API + CLI + Git",
    "freeHeadline": "2 always-on services",
    "freeDetail": "2 jobs · 1 database · Developer Sandbox",
    "account": "Account and payment method verification required",
    "retention": "Free services do not sleep; project inactivity retention not verified",
    "storage": "Not verified in reviewed documentation",
    "password": "Not verified in reviewed documentation",
    "domains": "Not verified in reviewed documentation",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Running small experimental agents and scheduled jobs.",
    "caveat": "Developer Sandbox is explicitly not for production. Exact Free CPU, RAM, traffic and persistent-storage limits are not verified. Do not infer them from paid resource shapes.",
    "sources": [
      {
        "label": "Free plan",
        "url": "https://northflank.com/pricing"
      },
      {
        "label": "Billing and Free scope",
        "url": "https://northflank.com/docs/v1/application/billing/pricing-on-northflank"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Payment method required before creating resources",
    "capabilities": {
      "runtimes": [
        "server"
      ],
      "agentModes": [
        "agent"
      ],
      "freeDomain": null,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": true
    },
    "execution": "Always-on container services; Free jobs supported",
    "slug": "northflank"
  },
  {
    "id": "prefect-horizon",
    "name": "Prefect Horizon / FastMCP Gateway",
    "url": "https://www.prefect.io/horizon",
    "color": "green",
    "description": "Hosting your own Python FastMCP server for a personal project.",
    "formats": [],
    "agent": true,
    "agentLabel": "FastMCP CLI + Git",
    "freeHeadline": "Free personal MCP hosting",
    "freeDetail": "1 developer · up to 200 MCP servers",
    "account": "Personal account and GitHub repository required",
    "retention": "Free compute ceilings, sleep and deployment retention not published in reviewed sources",
    "storage": "Not verified in reviewed documentation",
    "password": "Not verified in reviewed documentation",
    "domains": "Paid: Enterprise",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Hosting your own Python FastMCP server for a personal project.",
    "caveat": "Formerly FastMCP Cloud. The listed 1-agent feature is a hosted chat interface, not arbitrary agent-process hosting. Personal scope; compute limits still require confirmation.",
    "sources": [
      {
        "label": "Horizon Personal pricing",
        "url": "https://www.prefect.io/pricing?product=horizon"
      },
      {
        "label": "Personal hosting",
        "url": "https://www.prefect.io/horizon/deploy"
      },
      {
        "label": "FastMCP deployment",
        "url": "https://gofastmcp.com/deployment/prefect-horizon"
      },
      {
        "label": "Current product and no-card signup",
        "url": "https://www.prefect.io/horizon"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "No credit card required for Personal",
    "capabilities": {
      "runtimes": [],
      "agentModes": [
        "mcp"
      ],
      "freeDomain": false,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": null
    },
    "slug": "prefect-horizon"
  },
  {
    "id": "val-town",
    "slug": "val-town",
    "name": "Val Town",
    "url": "https://www.val.town/",
    "color": "green",
    "description": "Hosting a small TypeScript API or personal remote MCP server.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "MCP + plugin",
    "freeHeadline": "100,000 runs/day",
    "freeDetail": "1-minute runs · 15-minute cron intervals · public source",
    "bestFor": "Hosting a small TypeScript API or personal remote MCP server.",
    "account": "Val Town account required; card requirement not verified",
    "retention": "Free logs retained 3 days; deployment inactivity retention not verified",
    "storage": "SQLite and blob storage available; Free quotas not verified",
    "password": "Not verified in reviewed documentation",
    "domains": "Paid: custom domains require Pro",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Free source code is public: 0 private vals. The pricing page says unlimited public vals while the limits table lists 2,500 Free vals. Limits can change and some are soft-enforced. Storage, commercial-use permission and over-limit behavior need checking; model APIs are separate.",
    "sources": [
      {
        "label": "Pricing",
        "url": "https://www.val.town/pricing"
      },
      {
        "label": "Limits",
        "url": "https://www.val.town/limits"
      },
      {
        "label": "Host an MCP server",
        "url": "https://docs.val.town/guides/how-to-build-an-mcp-server"
      },
      {
        "label": "Agent plugin",
        "url": "https://docs.val.town/guides/prompting/plugin"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free is $0; card requirement and over-limit behavior not verified; some limits are soft-enforced",
    "execution": "1-minute Free runs; 4 GiB worker memory; workers stop after 10 seconds idle; 6-hour worker lifetime ceiling",
    "capabilities": {
      "runtimes": [
        "serverless"
      ],
      "agentModes": [
        "mcp"
      ],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "oracle-cloud-always-free",
    "slug": "oracle-cloud-always-free",
    "name": "Oracle Cloud Infrastructure Always Free",
    "url": "https://www.oracle.com/cloud/free/",
    "color": "green",
    "description": "Running a small agent worker or web server on a full Linux VM.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "Terraform via Resource Manager",
    "freeHeadline": "Arm VMs: 2 OCPUs + 12 GB RAM total",
    "freeDetail": "Up to 2 AMD micro VMs · 200 GB block storage",
    "bestFor": "Running a small agent worker or web server on a full Linux VM.",
    "account": "Oracle Cloud account; credit/debit card required for verification; one free account per person",
    "retention": "For the life of the account, subject to idle VM reclamation and abandoned-account suspension",
    "storage": "200 GB combined boot/block volumes; 20 GB object storage on Always Free-only accounts",
    "password": "Not verified in reviewed documentation",
    "domains": "Not verified in reviewed documentation",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Home-region capacity is not guaranteed. Oracle may reclaim VMs idle for 7 days under its CPU/network utilization tests (plus memory on Arm); accounts idle 30+ days may be suspended. Continuous execution is possible, not guaranteed retention. Boot disks count toward 200 GB. Excludes the separate $300/30-day trial; commercial-use terms not verified.",
    "sources": [
      {
        "label": "Free Tier and signup",
        "url": "https://www.oracle.com/cloud/free/"
      },
      {
        "label": "Always Free resources",
        "url": "https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Verification card and temporary authorization holds; upgraded paid accounts are billed above Always Free limits",
    "execution": "Arm A1: 1,500 OCPU-hours and 9,000 GB-hours/month; up to 2 AMD micro VMs with 1 GB RAM each",
    "capabilities": {
      "runtimes": [
        "server"
      ],
      "agentModes": [
        "agent"
      ],
      "freeDomain": null,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": true
    }
  },
  {
    "id": "statichost-eu",
    "slug": "statichost-eu",
    "name": "statichost.eu",
    "url": "https://www.statichost.eu/",
    "color": "green",
    "description": "Sharing a password-protected static site on your own domain in Europe.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "Direct-upload CLI + API",
    "freeHeadline": "1 site · 10 GB bandwidth",
    "freeDetail": "100 build minutes/month · custom domain · password protection",
    "bestFor": "Sharing a password-protected static site on your own domain in Europe.",
    "account": "Account required; no credit card for Hobby",
    "retention": "Not verified in reviewed documentation",
    "storage": "Not verified in reviewed documentation",
    "password": "HTTP Basic Auth included on Hobby; configured in site settings",
    "domains": "Custom domains and automatic HTTPS included on Hobby",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "One site on Hobby. Storage/file-size limits, inactivity retention, commercial-use terms and behavior when bandwidth/build limits run out are not verified. A free custom domain means connecting one you own, not free domain registration.",
    "sources": [
      {
        "label": "Plans",
        "url": "https://www.statichost.eu/pricing/"
      },
      {
        "label": "Static hosting docs",
        "url": "https://www.statichost.eu/docs/"
      },
      {
        "label": "Password protection",
        "url": "https://www.statichost.eu/docs/password-protection/"
      },
      {
        "label": "Direct-upload CLI",
        "url": "https://www.statichost.eu/docs/direct-upload/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "No card required; Hobby over-limit enforcement not verified",
    "execution": "Static files; queued builds; 100 Hobby build minutes/month",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": true,
      "commercial": null,
      "alwaysOn": null
    }
  },
  {
    "id": "modal",
    "slug": "modal",
    "name": "Modal",
    "url": "https://modal.com/",
    "color": "green",
    "description": "Running short-lived Python jobs or sandboxes for agent-generated code.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "Python / JavaScript / Go SDK",
    "freeHeadline": "$30/month compute credits",
    "freeDetail": "Starter: 100 containers · 10 GPU concurrency · 200 apps",
    "bestFor": "Running short-lived Python jobs or sandboxes for agent-generated code.",
    "account": "Modal account; official billing docs require a payment method on file",
    "retention": "Credits renew monthly; 1-day logs; app and sandbox data retention not separately verified",
    "storage": "Storage charges/quotas require checking separately; Starter includes 1 TiB/month egress",
    "password": "Not verified in reviewed documentation",
    "domains": "Custom domains not included on Starter",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Recurring compute credit, not a hard-capped free service. Configure spend budgets before unattended use. Shared Endpoints tokens are billed from the first request and do not use Starter compute credits. Sandbox sessions are bounded; storage and external model costs are separate; commercial-use terms not verified.",
    "sources": [
      {
        "label": "Starter pricing",
        "url": "https://modal.com/pricing"
      },
      {
        "label": "Billing and payment methods",
        "url": "https://modal.com/docs/guide/billing"
      },
      {
        "label": "Sandboxes",
        "url": "https://modal.com/docs/guide/sandboxes"
      },
      {
        "label": "Serverless web functions",
        "url": "https://modal.com/docs/guide/webhooks"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Payment method required; auto-billing beyond credits and incremental thresholds; configurable budgets",
    "execution": "Sandboxes default to 5 minutes, configurable up to 24 hours; Starter allows 5 deployed crons",
    "capabilities": {
      "runtimes": [
        "serverless"
      ],
      "agentModes": [
        "sandbox"
      ],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "hugging-face-spaces",
    "slug": "hugging-face-spaces",
    "name": "Hugging Face Spaces",
    "url": "https://huggingface.co/spaces",
    "color": "green",
    "description": "Publishing a static demo or a qualifying Gradio MCP tool.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": false,
    "agentLabel": "Git push; dedicated agent deployment route not verified",
    "freeHeadline": "Free static Spaces + up to 2 ZeroGPU apps",
    "freeDetail": "ZeroGPU: verified email · account older than 30 days",
    "bestFor": "Publishing a static demo or a qualifying Gradio MCP tool.",
    "account": "Hugging Face account; free ZeroGPU requires verified email and account age over 30 days",
    "retention": "Free compute sleeps when unused; exact ZeroGPU timing not verified; static hosting is separate",
    "storage": "Compute Spaces use non-persistent disk; repository and ZeroGPU storage limits need checking",
    "password": "Not verified in reviewed documentation",
    "domains": "Custom domains require PRO or Team/Enterprise",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Static Spaces are free. Other Gradio/Docker compute requires paid membership except up to 2 eligible personal ZeroGPU Gradio Spaces. MCP hosting here is a Gradio tool endpoint, not arbitrary always-on agent processes. GPU quota depends on callers. Outbound network ports are limited to 80, 443 and 8080. Verify visibility, disk and model costs.",
    "sources": [
      {
        "label": "Free scope",
        "url": "https://huggingface.co/docs/hub/spaces-overview"
      },
      {
        "label": "Static HTML Spaces",
        "url": "https://huggingface.co/docs/hub/spaces-sdks-static"
      },
      {
        "label": "ZeroGPU eligibility",
        "url": "https://huggingface.co/docs/hub/spaces-zerogpu"
      },
      {
        "label": "Gradio MCP servers",
        "url": "https://huggingface.co/docs/hub/spaces-mcp-servers"
      },
      {
        "label": "Custom domains",
        "url": "https://huggingface.co/docs/hub/spaces-custom-domain"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Static Spaces and qualifying ZeroGPU hosting need no paid plan; card requirement not verified",
    "execution": "Free compute is limited to eligible Gradio ZeroGPU Spaces; not arbitrary free Docker/CPU server hosting",
    "capabilities": {
      "runtimes": [
        "browser",
        "server"
      ],
      "agentModes": [
        "mcp"
      ],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "vercel-sandbox",
    "slug": "vercel-sandbox",
    "name": "Vercel Sandbox",
    "url": "https://vercel.com/docs/sandbox",
    "color": "green",
    "description": "Letting a personal coding agent run tests in a disposable Linux sandbox.",
    "formats": [],
    "agent": true,
    "agentLabel": "Sandbox SDK",
    "freeHeadline": "5 active CPU-hours/month",
    "freeDetail": "420 GB-hours memory · 5,000 creations · 45-minute sessions",
    "bestFor": "Letting a personal coding agent run tests in a disposable Linux sandbox.",
    "account": "Vercel Hobby account; personal, noncommercial use only",
    "retention": "Snapshots expire 30 days after last use by default; configurable; sessions bounded",
    "storage": "64 GB ephemeral disk per sandbox; 15 GB lifetime snapshot and 15 GB lifetime drive storage quotas",
    "password": "Not verified in reviewed documentation",
    "domains": "Not verified in reviewed documentation",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Personal, noncommercial use only. Multiple CPU/memory/network/creation quotas apply; creation pauses after limits until reset. Lifetime storage is not a fresh monthly storage allowance. Public preview-port eligibility not verified. Separate product and quotas from Vercel frontend hosting.",
    "sources": [
      {
        "label": "Sandbox quotas",
        "url": "https://vercel.com/docs/sandbox/pricing"
      },
      {
        "label": "Hobby restrictions",
        "url": "https://vercel.com/docs/plans/hobby"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Hobby has no extra usage charges; sandbox creation pauses when quotas are exhausted",
    "execution": "5-minute default timeout; 45-minute Hobby max session; 10 concurrent; up to 4 vCPU/8 GB per sandbox",
    "capabilities": {
      "runtimes": [],
      "agentModes": [
        "sandbox"
      ],
      "freeDomain": null,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": false
    }
  },
  {
    "id": "deno-deploy",
    "slug": "deno-deploy",
    "name": "Deno Deploy",
    "url": "https://deno.com/deploy",
    "color": "green",
    "description": "Hosting a small TypeScript API or static site on your own domain.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": true,
    "agentLabel": "REST API + CLI",
    "freeHeadline": "1M requests/month · 10 apps",
    "freeDetail": "10 active CPU-hours · 20 GiB egress · 5 custom domains",
    "bestFor": "Hosting a small TypeScript API or static site on your own domain.",
    "account": "Deno Deploy account; card requirement not verified",
    "retention": "Idle apps scale to zero; older revisions follow retention settings",
    "storage": "10 GiB revision storage; 1 GiB Deno KV",
    "password": "Not verified in reviewed documentation",
    "domains": "5 custom domains on Free",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Free is positioned for personal use and small projects; commercial permission and hard-limit behavior need checking. Sandboxes are not on Free. Deno has announced it is joining Cloudflare; verify current terms before deployment. Framework/runtime compatibility depends on your actual app.",
    "sources": [
      {
        "label": "Free plan",
        "url": "https://deno.com/deploy/pricing"
      },
      {
        "label": "Deployment docs",
        "url": "https://docs.deno.com/deploy/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free lists no overage rates; card and quota enforcement behavior not verified",
    "execution": "10 active CPU-hours and 150 GiB-hours memory/month; idle apps shut down after about 20–30 seconds",
    "capabilities": {
      "runtimes": [
        "browser",
        "serverless"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "apify",
    "slug": "apify",
    "name": "Apify",
    "url": "https://apify.com/",
    "color": "green",
    "description": "Running small custom JavaScript, TypeScript or Python Actors.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "Actor CLI + API",
    "freeHeadline": "$5/month platform usage",
    "freeDetail": "16 GB Actor RAM · 5 concurrent runs",
    "bestFor": "Running small custom JavaScript, TypeScript or Python Actors.",
    "account": "Apify account; no credit card required",
    "retention": "Unused monthly credit expires; runtime and storage retention need checking per Actor",
    "storage": "Datasets/key-value stores consume usage credit; no separate free storage quota verified",
    "password": "Not verified in reviewed documentation",
    "domains": "Not verified in reviewed documentation",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "The allowance covers custom Actor execution, not unlimited compute. Standby documentation supports HTTP/MCP endpoints, but Free Standby entitlement is not explicitly confirmed, so MCP hosting is not marked verified here. Standby uses token-gated access and idle-stop behavior. Model APIs, paid Actors and storage consume separate or additional costs.",
    "sources": [
      {
        "label": "Free pricing and usage",
        "url": "https://apify.com/pricing"
      },
      {
        "label": "Standby server behavior",
        "url": "https://docs.apify.com/actors/development/programming-interface/standby"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free usage blocks when the $5 allowance is exhausted until the next cycle; no automatic Free overage charges",
    "execution": "Actor compute $0.20 per CU (1 GB RAM-hour); other platform/storage charges also consume credit",
    "capabilities": {
      "runtimes": [
        "serverless"
      ],
      "agentModes": [],
      "freeDomain": null,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "wasmer-edge",
    "slug": "wasmer-edge",
    "name": "Wasmer Edge",
    "url": "https://wasmer.io/edge",
    "color": "green",
    "description": "Hosting a low-traffic stateless PHP, Python or static web app.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": false,
    "agentLabel": "Dedicated agent deployment route not verified",
    "freeHeadline": "100 apps · 1M requests/month",
    "freeDetail": "6 active CPU-hours · 150 GB bandwidth · 50 custom domains",
    "bestFor": "Hosting a low-traffic stateless PHP, Python or static web app.",
    "account": "Wasmer account; card requirement not verified",
    "retention": "Versioned deployments; 1-day logs; inactivity retention not verified",
    "storage": "1 GB volume storage; 1 GB package storage; database total 100 MB",
    "password": "Not verified in reviewed documentation",
    "domains": "50 custom domains on Hobby with HTTPS",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Stateless HTTP workloads only; no Free TCP/UDP, SSH or SMTP. Persistent workloads are described as in development. Pricing comparison widget says 1 app while the detailed feature table says 100; quota needs confirmation. Check Wasm/runtime compatibility, storage semantics, commercial terms and over-limit behavior.",
    "sources": [
      {
        "label": "Hobby pricing",
        "url": "https://wasmer.io/pricing"
      },
      {
        "label": "Edge runtime scope",
        "url": "https://docs.wasmer.io/edge/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Hobby free forever; Hobby quota enforcement and card requirement not verified",
    "execution": "6 active CPU-hours and 400 GB-hours memory; 500 deployments and 1,000 build minutes/month; low priority",
    "capabilities": {
      "runtimes": [
        "browser",
        "serverless"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "pythonanywhere",
    "slug": "pythonanywhere",
    "name": "PythonAnywhere",
    "url": "https://www.pythonanywhere.com/",
    "color": "green",
    "description": "Hosting a tiny Python web demo with a browser-based development environment.",
    "formats": [
      "apps"
    ],
    "agent": false,
    "agentLabel": "Dedicated agent deployment route not verified",
    "freeHeadline": "1 web app · 512 MiB disk",
    "freeDetail": "1 web worker · 2 consoles · monthly web-app renewal",
    "bestFor": "Hosting a tiny Python web demo with a browser-based development environment.",
    "account": "Beginner account; card requirement not verified",
    "retention": "Free web app expires after 1 month unless renewed; long-inactivity account retention not verified",
    "storage": "512 MiB private file storage",
    "password": "Not verified in reviewed documentation",
    "domains": "Own custom domains require paid plans",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "caveat": "Monthly web-app renewal required. Outbound internet restricted to an HTTP(S) allowlist; no Free SSH or always-on tasks. New accounts lack MySQL and scheduled tasks; legacy cutoff is 2026-01-15 (2026-01-08 in EU). Low bandwidth tier; not a persistent agent-loop host. Framework/ASGI support and commercial terms need checking.",
    "sources": [
      {
        "label": "Beginner pricing",
        "url": "https://www.pythonanywhere.com/pricing/"
      },
      {
        "label": "Free-account features",
        "url": "https://help.pythonanywhere.com/pages/FreeAccountsFeatures/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Beginner $0/month; console CPU overuse is deprioritized, not billed",
    "execution": "1 web worker; 100 daily CPU-seconds apply to consoles/tasks, not web requests; no always-on tasks",
    "capabilities": {
      "runtimes": [
        "server"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "supabase-edge-functions",
    "slug": "supabase-edge-functions",
    "name": "Supabase Edge Functions",
    "url": "https://supabase.com/docs/guides/functions/",
    "color": "green",
    "description": "Deploy your own Deno-based HTTP functions, webhooks, and remote MCP servers within Supabase projects.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "Deployment CLI",
    "freeHeadline": "500,000 function invocations/month",
    "freeDetail": "100 functions/project · 256 MB memory · 150-second workers",
    "account": "A Supabase account and Free project are required. A payment method is not established as necessary for this workload by the reviewed sources.",
    "retention": "Free projects with insufficient database activity over roughly 7 days can be paused. A paused project can be restored within 1 year.",
    "storage": "Function bundles are limited to 20 MB via local CLI bundling or 5 MB when bundled server-side. These are code-size limits, not persistent file-storage entitlements.",
    "password": "No Free shared-site password entitlement verified. JWT and OAuth authentication are distinct from a shared viewer password.",
    "domains": "Functions receive a project-specific supabase.co URL. Free custom-domain entitlement for function serving was not established.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "A small HTTP MCP server or authenticated API connected to a hosted Postgres project.",
    "caveat": "Free projects may pause for inactivity. HTML responses are rewritten to text/plain unless supported custom-domain configuration is used; this listing does not claim Free static-site hosting.",
    "sources": [
      {
        "label": "Edge Functions pricing",
        "url": "https://supabase.com/docs/guides/functions/pricing"
      },
      {
        "label": "Runtime and deployment limits",
        "url": "https://supabase.com/docs/guides/functions/limits"
      },
      {
        "label": "Host your own remote MCP server",
        "url": "https://supabase.com/docs/guides/ai-tools/byo-mcp"
      },
      {
        "label": "Function deployment CLI",
        "url": "https://supabase.com/docs/guides/functions/deploy"
      },
      {
        "label": "Free project pausing",
        "url": "https://supabase.com/docs/guides/platform/free-project-pausing"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free includes 500,000 invocations per month; the pricing table shows no Free overage rate. The exact response to exhausting this allowance was not verified.",
    "execution": "Deno-based request handlers with 256 MB memory, 2 seconds of CPU per request, 150-second maximum worker wall-clock duration on Free, and a 150-second request idle timeout.",
    "capabilities": {
      "runtimes": [
        "serverless"
      ],
      "agentModes": [
        "mcp"
      ],
      "freeDomain": null,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "boomurl",
    "slug": "boomurl",
    "name": "boomurl",
    "url": "https://boomurl.com/",
    "color": "green",
    "description": "Publish an HTML page, a folder containing a static website, Markdown, text, or a PDF to a public HTTPS link.",
    "formats": [
      "html",
      "docs"
    ],
    "agent": true,
    "agentLabel": "Publishing API + MCP",
    "freeHeadline": "50 MB · 500 files per site",
    "freeDetail": "Email verification · custom domains · free-plan banner",
    "account": "No traditional signup or password. An email address and one-time verification code are required to claim and publish a site. No credit card required.",
    "retention": "No fixed site expiry was documented. Deleted sites are permanently removed; the operator advises keeping your own file copies.",
    "storage": "50 MB and 500 files per site. Aggregate account storage limits were not verified.",
    "password": "Email code authenticates the publisher, not site viewers. Free shared viewer-password protection was not verified.",
    "domains": "Own-domain attachment is documented for published sites and is described as working without an account; the domain itself must be registered separately.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Turning AI-generated HTML or a PDF into a public link immediately, without creating a conventional hosting account.",
    "caveat": "Static files only, with a free-plan banner. There is no server runtime, hosted agent execution, or user-deployed MCP server.",
    "sources": [
      {
        "label": "Official publishing homepage",
        "url": "https://boomurl.com/"
      },
      {
        "label": "Free publishing and custom domains",
        "url": "https://boomurl.com/guides/free-website-no-account"
      },
      {
        "label": "Publishing API and agent integration",
        "url": "https://boomurl.com/docs/agents"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Publishing is free without a card. Removing the banner is an optional paid feature. Automatic hosting overage charges were not documented.",
    "execution": "Static HTML/CSS/JavaScript delivery and document rendering only; 50 MB and 500 files per site, with no server-side code execution.",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": true,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "google-compute-engine-always-free",
    "slug": "google-compute-engine-always-free",
    "name": "Google Compute Engine Free Tier",
    "url": "https://cloud.google.com/compute",
    "color": "green",
    "description": "Run a self-managed Linux virtual machine to host your own websites, APIs, long-running processes, and small agent services.",
    "formats": [
      "apps"
    ],
    "agent": true,
    "agentLabel": "Compute Engine CLI + REST API",
    "freeHeadline": "One eligible e2-micro VM-month",
    "freeDetail": "30 GB-months standard disk · 1 GB eligible egress",
    "account": "Requires a Google Cloud project with an active Cloud Billing account. A payment method and billing activation are relevant to continued use after the introductory trial.",
    "retention": "No forced sleep or fixed session expiry is documented for an eligible active non-preemptible VM. If a trial billing account closes without upgrade, running resources stop and data may be deleted.",
    "storage": "30 GB-months of standard persistent disk are included in the eligible Free Tier regions. Other disk classes, excess capacity, and backups are not assumed free.",
    "password": "No managed shared website-password feature verified. Authentication must be implemented and operated by the VM owner.",
    "domains": "Users can manage their own DNS and hosting configuration; no free registered domain or managed domain entitlement was established.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "A small persistent Linux service or self-managed agent that needs to remain running instead of relying on short-lived functions.",
    "caveat": "Active billing account required. Only eligible US regions and standard disks qualify. External IPv4 addresses have separate hourly charges, so an ordinary public IPv4 web server is not zero-cost merely because the VM qualifies. IPv6/private-network setup and excess egress, disks and other resources need independent checks. Introductory trial credits are excluded.",
    "sources": [
      {
        "label": "Google Cloud Free Tier eligibility and quotas",
        "url": "https://docs.cloud.google.com/free/docs/free-cloud-features"
      },
      {
        "label": "Compute Engine VM creation and automation",
        "url": "https://docs.cloud.google.com/compute/docs/instances/create-start-instance"
      },
      {
        "label": "External IP and network charges",
        "url": "https://cloud.google.com/vpc/network-pricing"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "An active billing account is required. The eligible VM allowance has no charge within its defined limits, but a Paid billing account is automatically charged for out-of-allowance usage. Introductory trial credit is not the basis of this recommendation.",
    "execution": "One non-preemptible e2-micro VM-month, calculated as monthly hours across eligible instances; supports a continuously running self-managed operating system and server process.",
    "capabilities": {
      "runtimes": [
        "server"
      ],
      "agentModes": [
        "agent"
      ],
      "freeDomain": null,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": true
    }
  },
  {
    "id": "alwaysdata",
    "slug": "alwaysdata",
    "name": "alwaysdata",
    "url": "https://www.alwaysdata.com/",
    "color": "green",
    "description": "Host personal static websites and small server-rendered applications using languages such as Node.js or Python.",
    "formats": [
      "html",
      "apps"
    ],
    "agent": false,
    "agentLabel": "Dedicated agent deployment route not verified",
    "freeHeadline": "1 GB SSD · 256 MB RAM",
    "freeDetail": "¼ CPU · personal use only · 3-day backups",
    "account": "A registered alwaysdata account is required. The Free plan is strictly for personal, noncommercial purposes. Card requirement was not verified.",
    "retention": "Free accounts suspend for administration-dashboard inactivity: every 120 days during the first year, every 6 months for accounts aged 1–4 years, and yearly for older accounts. Signing in restores suspended sites.",
    "storage": "1 GB SSD disk allocation and 3 days of backups are advertised for Free.",
    "password": "Free shared-password protection was not verified.",
    "domains": "Only the account's alwaysdata.net address can be used for websites on Free. Own-domain hosting requires payment.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "A personal Node.js or Python hobby website with traditional server-side routing.",
    "caveat": "Commercial sites, ads that generate income, and generic unattended programs intended to run 24/7 are prohibited on Free. Dashboard login is necessary to prevent inactivity suspension.",
    "sources": [
      {
        "label": "Official Free plan",
        "url": "https://www.alwaysdata.com/en/offers/"
      },
      {
        "label": "Free restrictions and inactivity policy",
        "url": "https://help.alwaysdata.com/en/docs/admin-billing/profile/suspension/"
      },
      {
        "label": "Node.js HTTP application deployment",
        "url": "https://help.alwaysdata.com/en/docs/web-hosting/languages/nodejs/configuration/"
      },
      {
        "label": "Supported website types",
        "url": "https://help.alwaysdata.com/en/docs/web-hosting/sites/add-a-site/"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Advertised €0/month personal-use plan. Card requirements and any excess-resource enforcement were not verified.",
    "execution": "Hosted HTTP application processes including Node.js and Python, limited by 256 MB RAM and one-quarter CPU; unattended generic 24/7 services are prohibited.",
    "capabilities": {
      "runtimes": [
        "browser",
        "server"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": false
    }
  },
  {
    "id": "cloudinary-image-video-api",
    "slug": "cloudinary-image-video-api",
    "name": "Cloudinary Image & Video API",
    "url": "https://cloudinary.com/",
    "color": "green",
    "description": "Upload and host images and videos with public delivery URLs, image transformations, and CDN distribution.",
    "formats": [
      "docs"
    ],
    "agent": true,
    "agentLabel": "Media upload API + SDK",
    "freeHeadline": "25 shared credits/month",
    "freeDetail": "Storage, transformations and transfer share one allowance",
    "account": "Cloudinary account required. The Image & Video API Free plan does not require a credit card.",
    "retention": "Assets are retained while the account remains active within its allocation. Accounts that remain disabled may eventually lose stored assets; no ordinary fixed asset expiry was established.",
    "storage": "One credit corresponds to 1 GB of managed storage, but the 25-credit allowance is shared with bandwidth and processing rather than providing an independent 25 GB storage grant.",
    "password": "Free shared viewer-password entitlement was not established. Advanced authentication options appear in paid-plan descriptions.",
    "domains": "CNAME custom-domain support is listed for a paid Advanced plan, not the Free offering.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Hosting the images and short video clips used by a small public website or product prototype.",
    "caveat": "Media/file delivery only, not website or backend hosting. Storage, transformations and bandwidth share 25 credits: not three separate free quotas. Continued over-limit usage can disable Free service. PDF/ZIP and arbitrary-file delivery may have additional account restrictions; verify your exact format. No user-hosted MCP server or sandbox.",
    "sources": [
      {
        "label": "Official Free pricing",
        "url": "https://cloudinary.com/pricing"
      },
      {
        "label": "Credit calculation and billing rules",
        "url": "https://cloudinary.com/documentation/billing_and_plans"
      },
      {
        "label": "Media upload documentation",
        "url": "https://cloudinary.com/documentation/upload_images"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free forever with no card; 25 shared credits. The Free plan issues warnings and can disable service after repeated over-limit usage rather than establishing an automatic paid overage entitlement.",
    "execution": "Managed file upload, transformation, and CDN delivery only. No custom application process, user-owned MCP server, or agent sandbox execution.",
    "capabilities": {
      "runtimes": [],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  },
  {
    "id": "catbox",
    "slug": "catbox",
    "name": "Catbox",
    "url": "https://catbox.moe/",
    "color": "green",
    "description": "Upload user-owned files such as images, PDFs, and videos and share direct public file links.",
    "formats": [
      "docs"
    ],
    "agent": true,
    "agentLabel": "Official file-upload API",
    "freeHeadline": "200 MB per file",
    "freeDetail": "Optional account · direct public file links",
    "account": "An account is optional for ordinary file upload. No required card or payment was identified.",
    "retention": "Anonymous files are removed after 2 years with no accesses. Uploads associated with a user account are described as permanent, subject to content rules and service operation.",
    "storage": "200 MB maximum per file. Total upload count, aggregate storage allocation, and bandwidth ceiling were not verified.",
    "password": "Shared viewer-password functionality was not verified.",
    "domains": "No custom-domain support was established in the reviewed documentation.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Sharing a large PDF, image, or downloadable media file through a direct URL without setting up a website.",
    "caveat": "Public file links only. .doc* and executable file types are prohibited; GIFs have a 20 MB limit. HTML/PHP are delivered as plain text. Unapproved commercial hotlinking/CDN use is prohibited, though distributing original creations by direct links is permitted. Some countries/providers block the service.",
    "sources": [
      {
        "label": "Official upload page",
        "url": "https://catbox.moe/"
      },
      {
        "label": "Retention, permitted files, and usage restrictions",
        "url": "https://catbox.moe/faq.php"
      },
      {
        "label": "Official upload tools",
        "url": "https://catbox.moe/tools.php"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free file-sharing service with optional signup; no paid subscription or card was established as necessary for ordinary uploads.",
    "execution": "File storage and public delivery only. No browser application hosting or server-side execution.",
    "capabilities": {
      "runtimes": [],
      "agentModes": [],
      "freeDomain": null,
      "freePassword": null,
      "commercial": false,
      "alwaysOn": false
    }
  },
  {
    "id": "harvis",
    "slug": "harvis",
    "name": "harvis.dev",
    "url": "https://harvis.dev/",
    "color": "green",
    "description": "Host static websites and automatically generated HTML reports using uploads, CI/CD, CLI commands, HTTP APIs, or an MCP publishing integration.",
    "formats": [
      "html"
    ],
    "agent": true,
    "agentLabel": "Publishing API + CLI + MCP",
    "freeHeadline": "1 GB · 100,000 requests/month",
    "freeDetail": "50 deploys/month · no Free custom domains",
    "account": "Signup and payment-method requirements not verified in accessible documentation",
    "retention": "Not verified in accessible documentation",
    "storage": "1 GB average storage per month; per-site size/file limits not independently verified",
    "password": "Shared site-password protection on Free was not verified.",
    "domains": "No custom-domain connections in Free; the first paid tier includes custom domains.",
    "paid": "See current paid plans",
    "paidNote": "Paid pricing is not included in this reviewed snapshot",
    "bestFor": "Publishing and updating small CI-generated HTML coverage reports or branch-preview sites at stable URLs.",
    "caveat": "Automatic paid-tier increases, not a hard Free spending cap. The deployment documentation could not be retrieved during final verification, so signup, retention and per-site file limits remain unconfirmed. Static publishing only; no verified backend or agent-process hosting.",
    "sources": [
      {
        "label": "Official usage-tier pricing",
        "url": "https://harvis.dev/pricing"
      },
      {
        "label": "Deployment methods, per-site limits, and retention",
        "url": "https://harvis.dev/for/devops"
      }
    ],
    "checked": "2026-10-12",
    "freeOffer": "ongoing",
    "billing": "Free automatically moves to a paid step starting at $5/month if any allowance is exceeded; payment collection and spending-cap behavior not verified",
    "execution": "Static-file serving only. Free includes 100,000 requests/month and 50 deploys/month, with no server-side process execution.",
    "capabilities": {
      "runtimes": [
        "browser"
      ],
      "agentModes": [],
      "freeDomain": false,
      "freePassword": null,
      "commercial": null,
      "alwaysOn": false
    }
  }
]
