# Ubicloud

Open source alternative to AWS

Source: https://wheredoirunthis.com/products/ubicloud · JSON: https://wheredoirunthis.com/api/products/ubicloud · Read on 2026-10-15

## At a glance

- Type: IaaS
- Kind: Open core
- Isolation: Virtual machine
- Free tier: No
- Starting price: $10.47/mo
- GPU: Not documented
- Regions: 3
- Coverage: 17 of 61 assessed capabilities supported
- Agent readiness: read 10 of 11 signals, drive 6 of 11 signals

## Links

- Homepage: https://www.ubicloud.com/
- Docs: https://ubicloud.com/docs/overview
- Pricing: https://ubicloud.com/docs/about/pricing.md
- Repository: https://github.com/ubicloud/ubicloud

## Pricing

- Model: Usage-based provisioned resources, per-minute metering billed monthly
- Unit: VM-minute, runner-minute, database/node resources, image GiB-minute, egress TB
- Free tier: No free VM tier; $2.50/month runner credit (1,250 premium minutes)

| Tier | Price | Includes | Notes |
| --- | --- | --- | --- |
| Compute burstable-1 | $10.47/month | 1vCPU, 2GB RAM; $0.00026/min ($0.0156/hour); <=50% sustained CPU and microbursts to 100%. Monthly quote is vendor display, not a 730-hour derivation. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| Compute burstable-2 | $20.95/month | 2vCPU, 4GB RAM; $0.00052/min ($0.0312/hour); shared CPU. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| Compute standard-2 | $41.89/month | 2 dedicated vCPU, 8GB RAM; $0.00104/min ($0.0624/hour). Standard sizes up to 60vCPU/240GB/1200GB at $1256.85/month. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| GitHub Actions runners | $0.00125/min standard 2vCPU; $0.002/min premium | $2.50/month credit; 1,250 premium 2vCPU minutes at $0.002/min. Premium default for new users; standard selectable. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| Managed PostgreSQL hobby-1 | $19.54/month | 1 shared vCPU, 2GB RAM, 7-day backups/PITR. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| Managed PostgreSQL standard-2 | $78/month | 2 dedicated vCPU, 8GB RAM; table $78/month while overview quotes $78.15. Preserve table rate; verify console before purchase. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| Managed Kubernetes single-node control plane plus one worker | $71.82/month | Worker 2vCPU/8GB/40GB; non-HA. 3-node HA control plane plus 3 workers $215.46/month. No hidden networking/LB/egress fees. |  [source](https://ubicloud.com/docs/about/pricing.md) |
| Machine image storage | $0.0000034722/GiB/min (~$0.15/GiB/month) | Each compressed image version billed by archive size. |  [source](https://ubicloud.com/docs/about/pricing.md) |

- Overages: VM egress $3/TB above 0.625TB/2vCPU/month; optional IPv4 $3/month prorated; extra storage separately selected; image archives separately billed
- Card required: Not documented
- Source: https://ubicloud.com/docs/about/pricing.md

## Website design

Desktop public website · assessed 2026-10-15

Complete assessment.

White, orange-accented corporate marketing shifts from an illustrated split landing hero to spacious three-column documentation for both pricing and product overview.

- Styles: Corporate, Technical illustration
- Landing page: captured
- Pricing: captured
- Docs: captured

## Runtime

- **GPU & accelerators**: API-exposed, availability not publicly priced — "Create VM OpenAPI exposes gpu count:type; compute pricing lists no GPU shapes/rates. Do not infer generally available GPU rentals from inference hardware." [source](https://ubicloud.com/docs/api-reference/virtual-machine/create-a-new-vm.md) (confidence: medium)
- **BYOC (Bring your own cloud)**: PostgreSQL on customer AWS account, privately supported for select customers — "Separate from OSS bare-metal self-host; contact support for access." [source](https://ubicloud.com/docs/managed-postgresql/byoc.md) (confidence: high)
- **Secrets management**: Platform encryption/key rotation; no first-class customer workload secret store documented [source](https://ubicloud.com/docs/security/overview.md)
- **Storage options**: Encrypted local block storage via ubiblk; reusable versioned VM disk images; managed PostgreSQL backups retained 7 days [source](https://ubicloud.com/docs/security/overview.md)
- **Supported workloads**: virtual-machines, github-actions-runners, managed-postgresql, managed-kubernetes, model-inference, batch-processing, ai-agents, self-host-cloud [source](https://ubicloud.com/docs/llms.txt)
- **Persistence**: Persistent dedicated local encrypted block storage — "Current security docs name ubiblk vhost-user block backend, superseding README SPDK description; standard-2 includes 40GB." [source](https://ubicloud.com/docs/about/pricing.md) (confidence: high)
- **Data jurisdiction**: Germany, Finland, United States — "Three public bare-metal regions; PostgreSQL BYOC also allows customer AWS placement. Account data stored in EEA with possible international access under privacy notice; not an absolute content-sovereignty guarantee." [source](https://ubicloud.com/docs/about/regions.md) (confidence: high)
- **Resource limits & quotas**: Per-minute provisioned-resource billing; 0.625TB egress per 2vCPU/month then $3/TB; optional IPv4 $3/month; images require stopped VM/single disk <=40GiB [source](https://ubicloud.com/docs/about/pricing.md)
- **SDK languages**: Not documented — "No official Ubicloud management SDK documented; OpenAI-compatible inference can use third-party OpenAI clients." [source](https://ubicloud.com/docs/llms.txt) (confidence: high)
- **Network & egress controls**: No — "We currently do not support outbound rules. Stateful firewall is ingress-only; traffic initiated by VM always allowed." [source](https://ubicloud.com/docs/networking/firewall.md) (confidence: high)
- **Snapshots & forks**: Yes — "Disk-only reusable machine images: source must be stopped, single disk <=40GiB; launch same-location VMs. No live-memory/process snapshot claim." [source](https://ubicloud.com/docs/machine-images/overview.md) (confidence: high)
- **Deployment methods**: api, cli, dashboard [source](https://ubicloud.com/docs/quick-start/cli.md)
- **Isolation**: Virtual machine — "Linux KVM full virtualization, Cloud Hypervisor VMM, each VMM in its own Linux namespaces." [source](https://ubicloud.com/docs/security/overview.md) (confidence: high)

## Capabilities

### AI & agents

| Capability | Status | Evidence |
| --- | --- | --- |
| Agent skills | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| AI app builder | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Autonomous QA agent | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Built-in coding agent | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| BYOK for LLMs | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Credential-injection proxy | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| LLM gateway | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| MCP client | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| MCP-server hosting | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| MCP server | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Model inference API (first-party) | Supported | "Inference Endpoints offer OpenAI-compatible APIs; vendor-hosted curated models, not external-provider gateway." [source](https://ubicloud.com/docs/inference/endpoint.md) |
| Preinstalled coding agent | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |

### Networking & delivery

| Capability | Status | Evidence |
| --- | --- | --- |
| Automatic HTTPS | Partially supported | "ZeroSSL certificates automatically provisioned/renewed for load-balancer hostname. User must download certificate/key and terminate TLS in VM; LB does not terminate TLS." [source](https://ubicloud.com/docs/networking/load-balancer.md) |
| Custom domains | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Direct public IPv6 | Supported | "Each VM gets a public IPv6 address for free." [source](https://ubicloud.com/docs/about/pricing.md) |
| Edge KV store | Not applicable | "Primary SKU is IaaS, not an app/PR deployment layer or edge-isolate runtime; no corresponding managed surface." [source](https://ubicloud.com/docs/llms.txt) |
| Egress controls | Not supported | "We currently do not support outbound rules. Ingress-only firewall and private subnets are not egress controls." [source](https://ubicloud.com/docs/networking/firewall.md) |
| Email send / receive | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Public preview URLs | Not applicable | "Primary SKU is IaaS, not an app/PR deployment layer or edge-isolate runtime; no corresponding managed surface." [source](https://ubicloud.com/docs/llms.txt) |
| Private networking | Supported | "Private IPv4/IPv6 subnets, IPsec-encrypted traffic and connectable private subnets." [source](https://ubicloud.com/docs/networking/private-subnet.md) |
| Built-in reverse proxy | Supported | "Layer 4 load balancer routes traffic to attached VMs with health probes; no SSL termination." [source](https://ubicloud.com/docs/networking/load-balancer.md) |

### Organisation & security

| Capability | Status | Evidence |
| --- | --- | --- |
| Built-in auth | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| BYOC | Partially supported | "Run Ubicloud PostgreSQL in your own AWS account; privately supported for select customers, contact support. Not a generally available compute BYOC claim." [source](https://ubicloud.com/docs/managed-postgresql/byoc.md) |
| Deploy into customers' VPCs | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Secrets management | Not supported | "Platform DEK/KEK envelope encryption and IPsec key rotation are internal security; no first-class customer workload secret storage/injection documented." [source](https://ubicloud.com/docs/security/overview.md) |
| Self-host / OSS core | Supported | "Open-source cloud; demo/generate_env, docker-compose, cloudify_server on Hetzner bare metal." [source](https://raw.githubusercontent.com/ubicloud/ubicloud/main/README.md) |
| Sharing | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| SSO / SAML | Partially supported | "OIDC logins now use PKCE when identity provider supports it; enterprise provisioning/SSO setup guide not confirmed." [source](https://ubicloud.com/docs/changelog/2026-09.md) |
| Teams | Supported | "Project authorization provides multi-user fine-grained resource permissions." [source](https://ubicloud.com/docs/security/authorization.md) |
| Workload identity | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |

### Developer access

| Capability | Status | Evidence |
| --- | --- | --- |
| CLI | Supported | "Official ubi executable for Linux, macOS, Windows." [source](https://ubicloud.com/docs/quick-start/cli.md) |
| E2B-compatible API | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Filesystem API | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Git deploy | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| HTTP data API | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| OpenAPI spec | Partially supported | "Endpoint markdown embeds OpenAPI 3.0.3 with request/response schemas and components; complete linked /docs/api-reference/openapi.yml returns 404, API-host probe 401." [source](https://ubicloud.com/docs/api-reference/virtual-machine/create-a-new-vm.md) |
| Private container registry | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Public API | Supported | "REST endpoints; HTTPS JSON requests and responses; personal access token authentication." [source](https://ubicloud.com/docs/api-reference/overview.md) |
| SDK | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| SSH access | Supported | "Create VM requires public SSH key or registered SSH public key." [source](https://ubicloud.com/docs/api-reference/virtual-machine/create-a-new-vm.md) |

### Compute & storage

| Capability | Status | Evidence |
| --- | --- | --- |
| Cloud-init / ignition config | Supported | "Create VM API exposes init_script: VM init script (user-provided launch initialization)." [source](https://ubicloud.com/docs/api-reference/virtual-machine/create-a-new-vm.md) |
| Desktop / computer-use sandbox | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| GPU compute | Partially supported | "VM create API exposes gpu count:type; no published purchasable GPU VM shapes/prices confirmed. Referenced API capability, availability unresolved." [source](https://ubicloud.com/docs/api-reference/virtual-machine/create-a-new-vm.md) |
| Live-state (memory) snapshots | Not supported | "Machine Images capture a stopped VM disk; no memory/process checkpoint or live-state restore documented." [source](https://ubicloud.com/docs/machine-images/overview.md) |
| Multi-region | Supported | "eu-central-h1 Germany, eu-north-h1 Finland, us-east-a2 Virginia." [source](https://ubicloud.com/docs/about/regions.md) |
| Object storage | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Persistent disk | Supported | "Standard and burstable VMs include dedicated local storage; standard-2 includes 40GB." [source](https://ubicloud.com/docs/about/pricing.md) |
| Sandbox templates / custom images | Supported | "Reusable, versioned custom VM boot images from configured source VM; boot new VMs from latest or selected image version. Same location required." [source](https://ubicloud.com/docs/machine-images/overview.md) |
| Scale to zero | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Selectable isolation runtime | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Snapshots / forking | Partially supported | "Disk capture and clone through reusable machine images is shipped, but source must be STOPPED, single disk <=40GiB. Not live snapshot/fork of a running VM." [source](https://ubicloud.com/docs/machine-images/overview.md) |

### Data

| Capability | Status | Evidence |
| --- | --- | --- |
| Database branching | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Ephemeral instant DB (no-signup) | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| First-party database | Supported | "Managed PostgreSQL with backups, HA and read replicas." [source](https://ubicloud.com/docs/managed-postgresql/overview.md) |
| Vector search | Supported | "Supported extensions include vector 0.8.2 and vchord 1.1.1." [source](https://ubicloud.com/docs/managed-postgresql/extensions.md) |

### Platform & operations

| Capability | Status | Evidence |
| --- | --- | --- |
| Managed CI/CD runners | Supported | "Managed GitHub Actions runners with dedicated ephemeral job VMs; standard and premium x64, arm64." [source](https://ubicloud.com/docs/github-actions-integration/quickstart.md) |
| Built-in observability | Supported | "First-party PostgreSQL Metrics view, CPU/memory/disk graphs; logs also documented. August changelog adds Kubernetes Metrics tab and API." [source](https://ubicloud.com/docs/managed-postgresql/metrics.md) |
| Preview environments | Not applicable | "Primary SKU is IaaS, not an app/PR deployment layer or edge-isolate runtime; no corresponding managed surface." [source](https://ubicloud.com/docs/llms.txt) |
| Scheduled tasks | Partially supported | "Managed PostgreSQL supports pg_cron 1.6, allowing DB-side scheduling; no general VM platform cron service documented." [source](https://ubicloud.com/docs/managed-postgresql/extensions.md) |
| Project template marketplace | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |
| Durable workflows | Not supported | "Not documented as a first-party capability in the refreshed complete docs index and relevant service pages; generic VM installability does not establish a platform feature." [source](https://ubicloud.com/docs/llms.txt) |

## Agent readiness

### Read: 10 of 11 signals present

10/11 signals (6 full, 4 partial)

- Llms txt: pass — "https://ubicloud.com/docs/llms.txt: substantive 24,894-byte docs/pricing/API index."
- Llms full txt: partial — "https://ubicloud.com/docs/llms-full.txt returned HTTP 200 and exceeded 200000-byte cap; POINTER retained. Full completeness not inspected."
- Robots AI policy: partial — "https://www.ubicloud.com/robots.txt contains Sitemap pointer; no explicit AI policy (default allow)."
- JSON LD: fail — "No application/ld+json in fresh homepage HTML."
- Sitemap: pass — "https://www.ubicloud.com/sitemap.xml: 14,690 bytes of nontrivial URL listing."
- Meta quality: pass — "Homepage descriptive title, meta description and OpenGraph fields present."
- Markdown negotiation: partial — "Docs .md variants serve substantive clean markdown. Accept:text/markdown request returned 403; ordinary URL succeeded in foxcrawl, so variants not clean negotiation."
- Content efficiency: pass — "Homepage server-rendered readable text exceeds 5% of 34,250-byte HTML; raw HTML artifact retained."
- Docs discoverable: pass — "Homepage header first-class Docs and Pricing links."
- Pricing machine readable: pass — "https://ubicloud.com/docs/about/pricing.md: structured parseable tables with minute/month rates; score on actual documented pricing surface, not marketing alias."
- Anti bot: partial — "Ordinary public site/docs pages fetched; Accept:text/markdown request to docs pricing returned 403, rendered ordinary page retry succeeded. No broad public-content block."

### Drive: 6 of 11 signals present

6/11 signals (4 full, 2 partial)

- Public API: pass — "https://ubicloud.com/docs/api-reference/overview.md: documented REST API."
- Openapi spec: partial — "Substantive embedded OpenAPI endpoint slices fetchable; linked complete spec 404; API-host probe 401."
- MCP server: fail — "No documented Model Context Protocol control server; well-known mcp 404."
- SDK packages: fail — "No official management SDK; third-party OpenAI inference client does not count."
- Auth docs: pass — "https://ubicloud.com/docs/api-reference/overview.md: project personal access tokens and Authorization header."
- Agent self serve creds: partial — "Console Tokens page creates management token (human setup). Programmatic inference key creation exists but requires existing project access token; no anonymous programmatic bootstrap."
- Webhooks: fail — "No documented signed webhooks in refreshed docs."
- CLI tool: pass — "https://ubicloud.com/docs/quick-start/cli.md: official ubi multi-platform executable."
- Error model: pass — "https://ubicloud.com/docs/api-reference/virtual-machine/create-a-new-vm.md embeds Error schema: error.code, message, type, nullable details."
- Rate limit docs: fail — "No API rate limits plus response headers documented in API overview/embedded spec."
- Agent config: fail — "No AGENTS.md, well-known agent or installable agent skill advertised. llms.txt belongs to parse ability and alone does not satisfy this distinct check."

## Coding harnesses

Plausible compatibility (derived, not stored):

- Aider
- Amp
- Antigravity
- Claude Code
- Codex CLI
- Devin
- Droid
- Gemini CLI
- Goose
- Hermes Agent
- Kilo Code
- Kiro CLI
- OpenCode
- Pi
- Qwen Code

## Compliance & regions

- SOC 2 Type II: certified (scope: hosted) — "Compliance: SOC 2 Type 2; SOC 2 Type 2 Report available by access request." [source](https://trust.ubicloud.com/)
- GDPR: self-attested (scope: hosted) — "Compliance: GDPR." [source](https://trust.ubicloud.com/)
- HIPAA: self-attested (scope: hosted) — "Compliance: HIPAA." [source](https://trust.ubicloud.com/)
- Regions: eu-central-h1 (Hetzner, Falkenstein, Germany), eu-north-h1 (Hetzner, Helsinki, Finland), us-east-a2 (Leaseweb, Manassas, VA, US)
- Regions note: Three documented public bare-metal regions. Runners use available European Hetzner/Leaseweb Germany capacity; September changelog also documents AWS spillover. US compute/PG/Kubernetes pricing is now comparable to Germany. Customer AWS PostgreSQL BYOC placement is separate.

## Open source

- Repository: https://github.com/ubicloud/ubicloud
- License: AGPL-3.0
- Stars: 12319
- Forks: 597
- Self-host methods: compose, source-build, other
- Self-host dependencies: postgres

## Company & presence

- Headquarters: San Francisco office; legal entities in US and Netherlands
- Founded: 2023; Y Combinator W24
- Funding: Seed, $16 million
- Privacy policy: https://ubicloud.com/docs/about/privacy-policy.md
- Terms of service: https://ubicloud.com/docs/about/terms-of-service.md
- GitHub: https://github.com/ubicloud/ubicloud
- Blog: https://www.ubicloud.com/blog
- Community Forum: https://github.com/ubicloud/ubicloud/discussions
- LinkedIn: https://www.linkedin.com/company/ubicloud/
- X/Twitter: https://twitter.com/UbicloudHQ
- Changelog: https://ubicloud.com/docs/changelog/2026-09.md
- Trust Center: https://trust.ubicloud.com/
- RSS: https://www.ubicloud.com/rss/rss.xml

## Nearby in the atlas

- [Appbox](/products/appbox.md)
- [flintlock](/products/flintlock.md)
- [Namespace](/products/namespace.md)
- [Scaleway](/products/scaleway.md)
- [Bastion](/products/bastion.md)
- [bhatti](/products/bhatti.md)

## Method

Facts come from the product's own public pages. Each claim carries its evidence: a quote and the page it came from. We count capabilities rather than grade products, and "Not assessed" means we have not checked, never that the product lacks it.
