How to host your Claude app in Canada.
Built something with Claude? Whether Claude wrote the code or your app calls the Claude API, you can host it in Canada in minutes.
Canner detects the framework, builds it in an isolated sandbox, and serves it from Montreal over HTTPS — with your API keys kept server-side and your data under Canadian law.
Claude is exceptional at generating working apps — a React front end, a Node API, a full-stack internal tool. But the code has to run somewhere, and if it touches real data you probably don’t want that somewhere to be a US-hosted platform subject to the CLOUD Act. Here’s how to take an app you built with Claude, or one that calls the Anthropic API, and put it live on Canadian-owned infrastructure.
- 1
Get your code out of Claude
Copy the artifact, or — if you used Claude Code — your project is already a folder of files. Make sure it’s a self-contained project with a package.json (for Node) or the right entrypoint for its language, and include your lockfile (package-lock.json, pnpm-lock.yaml, …).
- 2
Confirm it runs locally
Run your framework’s build and start (for Node, npm install && npm run build). Canner runs that same build in a sandbox, so if it builds locally it builds on Canner. Make sure your server reads its port from process.env.PORT.
- 3
Pick how your code reaches Canner
Drag-and-drop the folder in the dashboard, connect a GitHub repo for push-to-deploy, or run canner deploy from the CLI. No config files required — Canner auto-detects the framework and builds it.
- 4
Keep your API keys server-side
Add ANTHROPIC_API_KEY and any other secrets as encrypted environment variables in the dashboard — not in client code. Requests to Claude then originate from your Canadian-hosted server, never the browser.
- 5
Go live
Canner builds, starts your app under its own Linux user, and issues a TLS certificate automatically. You get a URL at your-project.app.canner.ca; point a custom domain at it whenever you like.
- Hosted only in Montreal, Quebec — not subject to the US CLOUD Act.
- Node, Python, Go, Ruby, PHP and Rust supported — whatever Claude wrote.
- Encrypted environment variables keep your Anthropic API key off the client.
- Managed Postgres included if your app needs a database.
Do I need to change the code Claude generated?
Usually not. Make sure your server reads its port from process.env.PORT and that a lockfile is present. Static sites and standard Node, Vite and Next.js apps deploy as-is.
Where does my Anthropic API key live?
As an encrypted environment variable on Canner, injected at runtime. It never ships to the browser, and calls to the Claude API leave from your Montreal-hosted server.
Is my app’s data actually in Canada?
Yes. Compute and the managed Postgres both run in Montreal. Canner is 100% Canadian-owned with no US affiliate, so there’s no CLOUD Act hook.
How much does it cost?
The Starter tier is free and needs no card; it sleeps after a few hours idle and wakes on the next request. CA$9/mo Live keeps it always-on with custom domains.
Ship it on Canadian soil.
Free Starter tier, no card required. Your app goes live at your-project.app.canner.ca with HTTPS — hosted in Quebec, outside the US CLOUD Act.