Cloud Plan Limits
Plan-by-plan limits for Gencow Cloud: app slots, production deploys, custom domains, realtime, storage, image transforms, and credits
Gencow Cloud plan limits are enforced by the platform backend. Dashboard and CLI messages are only guidance; the server remains the source of truth for app ownership, plan capabilities, and security boundaries.
Public pricing currently shows Hobby, Startup, and Enterprise.
Enterprise plans are configured through a separate agreement and can have custom
limits. Internal platform plan IDs can differ from display names during rollout;
the backend enforces capabilities such as customDomain and
productionDeploy.
Summary
| Feature | Hobby | Startup | Enterprise |
|---|---|---|---|
| App slots | 5 | 30 | Custom |
| Monthly platform credits | 20,000 cr | 500,000 cr | Custom |
| Monthly service credits | 5,000 cr | 100,000 cr | Custom |
| Storage | 1 GB | 20 GB | Custom |
| Max file size | 50 MB | 500 MB | Custom |
| Runtime memory | 256 MB | 1 GB | Custom |
| Deploy bundle size | 50 MB | 200 MB | Custom |
| Production deploy | No | Yes | Custom |
| Custom domain | No | Yes | Custom |
| Realtime connections/account | 1,000 | 100,000 | Custom |
| Realtime safety limit/app | 500 | 25,000 | Custom |
| Search/RAG indexing | Basic search | Hybrid search | Custom |
| Backups | 1 manual / 7 days | Automatic backups + up to 20 manual backups | Custom |
| Support | Community | Priority | Custom |
App slots count dev and production apps separately. The first
gencow deploy --prod creates a separate production app and consumes one
additional slot.
The platform reads the current app-slot limit from the live plan policy for every app creation and ownership transfer. Public pricing reflects the same policy. Audited platform-administrator exceptions are reserved for operations; they do not grant a customer account additional plan entitlement.
Monthly platform credits and monthly service credits are separate pools. The live plan policy sets platform credits. Service credits are granted on the monthly KST anchor, and each account and billing period is processed idempotently.
Backups
Hobby includes one manual database backup with 7-day retention. Startup includes up to 20 manual backups with the retention shown at creation time, plus automatic database backups.
A versioned retention policy is planned for new Startup backups. After its effective date is announced and the policy is activated, recent restore points will be kept every 6 hours for 72 hours. After that, one successful automatic backup per KST day will be kept so the restore range reaches 30 days. New pre-deploy and pre-restore safety backups will be kept for 7 days.
Until that activation, the expiration time shown for each backup is the applicable retention contract. The effective date will be announced before the new policy starts.
Existing backups are not reclassified or shortened by the new policy. Each backup is deleted only when its own displayed expiration time is reached or when you delete it manually.
Production Deploys
Production apps are available on Startup and Enterprise plans. Hobby users can still deploy to the dev environment:
gencow deploy # dev app, available on all plans
gencow static dist/ # dev static hosting, available on all plansUse --prod for production targets:
gencow deploy --prod
gencow static --prod dist/
gencow env set KEY=VALUE --prodIf your plan cannot use production deploys, the CLI and Dashboard show an upgrade message and the platform rejects the production write.
Custom Domains
Custom domains are available on Startup and Enterprise plans. Hobby users cannot connect a new custom domain or rebind an existing domain to a different app.
For the end-to-end Dashboard, CLI, DNS, and automatic TLS workflow, see Hosting & Custom Domains.
gencow domain set myapp.com
gencow domain status
gencow domain removeFor production apps, target the production app explicitly:
gencow domain set myapp.com --prod
gencow domain status --prod
gencow domain remove --prodIf a project has both dev and production apps, the custom domain should point to the environment you intend to serve publicly. Production domains should be bound to the production app, not the dev app.
www hostnames are first-class custom domains. Use a www.example.com CNAME to
the selected app target when your DNS provider cannot flatten apex records. Gencow
serves a directly connected www domain as canonical and does not redirect it to
example.com. Apex domains should use ALIAS/ANAME/CNAME flattening when the DNS
provider supports it, or the stable edge IP fallback shown by the CLI.
Existing active custom domains are not removed automatically when a plan changes. Status checks and removal remain available so users can inspect or disconnect their own domains. New domain connections and rebinds still require a plan with the custom-domain capability.
Official Gencow domains such as gencow.app, gencow.dev, and gencow.com
are not self-service custom domains. They require platform-admin handling.
Realtime
Realtime limits count concurrent WebSocket connections, not HTTP visitors or static page views. One browser tab with active realtime queries usually consumes one connection.
| Plan | Per-account connection limit | Per-app safety limit |
|---|---|---|
| Hobby | 1,000 | 500 |
| Startup | 100,000 | 25,000 |
| Enterprise | Custom | Custom |
The account limit is shared across all apps owned by the account. The per-app safety limit prevents one app from consuming the entire allowance. Both are checked when the WebSocket connection opens.
Storage And Images
Storage quota limits the total file storage available to the app. Public website assets and private attachments both count toward storage.
Single-file limits are tiered separately from total quota. Hobby allows 50 MB per file. Startup allows 500 MB per file through browser-direct storage uploads; same-origin API-routed uploads, including CLI/admin multipart paths, are still capped at 50 MB.
Image optimization is always available for safe automatic WebP/downscale paths. Explicit image transforms such as resize, format conversion, and quality control are Startup/Enterprise features.
See Storage for public/private visibility, read grants, image transform parameters, cache behavior, and tier-specific transform errors.
Credits
Gencow uses two credit pools:
| Credit type | Used for |
|---|---|
| Platform credits | DB, API, function/runtime, realtime, storage, deploy infrastructure |
| Service credits | AI, embeddings, image generation, document conversion, provider-backed services |
Credit usage depends on the actual workload. AI and document processing costs vary by model, provider, tokens, file size, and output size.
Hosted app traffic analytics are collected through Gencow-owned same-origin routes and shown in the Dashboard. Analytics storage and retention can vary by plan or Enterprise agreement, but the privacy boundary is the same for every plan: raw IP, secrets, session tokens, and private storage grant URLs are not stored. See Hosted App Analytics.
Enforcement Model
Plan limits are enforced in backend routes and runtime gateways, not only in UI:
- App and production-app writes check authenticated ownership.
- App creation and ownership transfer enforce the current plan's app-slot limit.
- Production deploy writes require the production-deploy capability.
- Custom domain set/rebind requires the custom-domain capability.
- Realtime connection limits are enforced at the WebSocket gateway.
- Image transform limits are enforced by storage serving routes.
- Official Gencow domains stay admin-only even when a user has a paid plan.
When a capability is unavailable, the platform returns a plan-limit error and an upgrade path. These errors should not expose other users' app names, tokens, database URLs, provider secrets, or internal infrastructure details.
Related Guides
- Deployment - dev vs production deploys, static hosting, custom domains, CI/CD
- Hosting & Custom Domains - publish an app, configure DNS, and verify TLS
- Realtime - realtime connection behavior and limits
- Storage - file visibility, grants, image optimization, and quotas
- CLI Reference - command flags and
--prodbehavior