Product
Everything the platform does
80 features: what each one does, the plan that carries it, and the command that drives it. Everything on this list is in production today.
Deploy and build
From a git push or a local folder to a running application.
| Feature | Plans | Command |
|---|---|---|
Push to deploy Push to your branch and Tensel builds that exact commit and rolls it out. | All plans | |
Every environment on the branch deploys One push deploys every environment bound to that branch, not just the first one. | All plans | |
Repository import One command or one click creates the project, the application, the environment and the first deployment. | All plans | tensel github import |
Deploy a folder, no git required Drop a folder in the browser or point the CLI at a directory; it is packed, uploaded and deployed. | All plans | tensel import |
Framework detection The builder, runtime kind, build command and output directory are read from the repository. | All plans | |
Dockerfile builds A Dockerfile wins when present; your image is built as written. | All plans | |
Builds without a Dockerfile Node frameworks are detected directly; Go, Python, Rust, PHP, Java and Ruby build from their marker files. | All plans | |
Toolchain read from the repo .nvmrc, engines and packageManager decide the Node version and package manager, not a platform default. | All plans | |
Overridable build settings Override the builder, root directory, commands, output directory or Node version; what the engine resolved stays visible next to your override. | All plans | tensel builds set |
Monorepo root picker Browse the repository tree and pick the directory an environment builds from. | All plans | tensel source tree |
Isolated builds Every build runs in a disposable virtual machine, destroyed after use, with no access to platform networks. | All plans | |
Zero-downtime rollout A new version replaces the old one only once it answers healthy; a failed deploy never takes the site down. | All plans | |
Rollback to any revision Every revision is an immutable image; roll back to the exact state of any earlier deployment in one command. | All plans | tensel deployments rollback |
Cancel in-flight deployments A queued or building deployment can be cancelled before it lands. | All plans | tensel deployments cancel |
Builds survive platform releases When Tensel itself deploys, your in-flight build resumes instead of failing. | All plans | |
GitHub Checks The deployment result reports back on the commit as a check, next to your CI. | All plans | |
Auto-deploy pause Pause an environment and pushes stop deploying it; every ignored push says why it was ignored. | All plans |
Runtime
Serverless containers and a static edge, in Paris.
| Feature | Plans | Command |
|---|---|---|
Serverless containers Each environment runs in its own container in Paris, never a shared process between customers. | All plans | |
Scale to zero An idle application sleeps and costs nothing to run; the first request wakes it in one to three seconds. | All plans | |
Always-on Keep one instance resident so no request ever waits for a cold start. | Personal and up | tensel envs always-on |
Automatic sizing Every environment starts small and is stepped up under sustained memory pressure; pin a size or leave it automatic. | All plans | tensel envs size |
Scale-out under load Replicas are added when concurrent requests climb, within the size's envelope. | All plans | |
Static sites without a container Static frameworks are detected and served from a shared always-on edge. No cold start, and no bill. | All plans | |
Static sites answer agents in Markdown Ship a Markdown copy of a page beside it and the edge serves that to clients asking for Markdown, and the HTML to everyone else. Nothing to switch on. | All plans | |
European CDN for static sites Static delivery from European points of presence, EU-routed by default; global routing is a per-environment opt-in with a disclosure. | All plans | |
Isolated environments Each environment has its own branch, configuration, secrets, hostname and logs; production cannot be deleted by accident. | All plans | tensel envs create |
Domains and TLS
Hostnames from the first deploy, certificates never on the bill.
| Feature | Plans | Command |
|---|---|---|
A tensel.cloud hostname from day one Every environment gets a stable subdomain on its first successful deploy, and keeps it across renames. | All plans | |
Custom domains Point your DNS at Tensel and the domain serves your environment. | Personal and up | tensel domains add |
Automatic TLS, free Certificates are provisioned and renewed for you; there is no certificate line on any invoice. | All plans | |
Apex domains Bare domains work, not only www: the apex is detected and served via ALIAS. | Personal and up | |
A stable edge CNAME Your DNS points at a Tensel-owned name, so infrastructure moves behind it never touch your zone. | Personal and up | |
DNS re-check on demand Check now instead of waiting out the backoff when you have just fixed a record. | Personal and up | tensel domains recheck |
Observability
What the platform saw, without an agent to install.
| Feature | Plans | Command |
|---|---|---|
Build logs, step by step Fetching source, building, publishing, going live. The same grouped log in the dashboard and the CLI. | All plans | tensel deployments logs |
Live log streaming Logs stream as they happen; --follow resumes where it left off after a dropped connection and stops on its own when the deployment ends. | All plans | tensel envs logs --follow |
Application logs per environment A running container's output belongs to its environment, not to whichever deployment happens to be live. | All plans | |
Runtime metrics Requests, CPU, memory and instance count, read on demand from the host. Tensel ingests nothing and retains nothing. | All plans | tensel envs metrics |
Sleep shown as sleep A scaled-to-zero application renders as asleep, never as an outage. | All plans | |
Seven days of runtime logs, included Runtime logs are part of the platform, not a metered add-on; build logs are kept 30 days, and the live deployment's log for as long as it serves traffic. | All plans |
Organisations and access
Teams, roles and an audit trail that survives deletion.
| Feature | Plans | Command |
|---|---|---|
Organisations, projects, applications, environments One hierarchy for everything; every resource has one obvious place. | All plans | tensel overview |
Members and roles Owner, developer and viewer roles, checked as permissions on every action. | Starter and up | tensel members |
Email invitations Invite by address, set the role, revoke or resend. The invitee needs nothing installed. | Starter and up | tensel members invite |
Passwordless sign-in Magic link or passkey; Google and GitHub are optional. Identity runs on our own infrastructure, not an identity SaaS. | All plans | |
CLI sign-in without a password tensel login opens your browser and you approve the device there; nothing secret is typed in a terminal. | All plans | tensel login |
API keys Named, revocable keys with last-use tracking, shown once at creation. | All plans | |
One year of audit log Sign-ins, role changes, secret writes and deployments, immutable, with names resolved even after the thing was deleted. | All plans | tensel orgs audit |
Organisation export Everything about your organisation as JSON: secret names included, secret values never. | All plans | tensel orgs export |
Deletion that cleans up Deleting an application tears down its runtime and DNS in the same transaction, after a recovery window. | All plans |
Configuration and secrets
Variables with a scope, secrets nobody can read back.
| Feature | Plans | Command |
|---|---|---|
Environment variables with a scope Each variable is visible at build time, at runtime, or both. You choose, per variable. | All plans | tensel config set |
Write-only secrets Set once, encrypted before they reach the database, injected at deploy. There is no way to read a value back. | All plans | tensel secrets set |
dotenv import Import an existing .env in one command instead of retyping it. | All plans | tensel config import |
Secrets never in logs Secret values are masked in the dashboard and absent from every log line the platform writes. | All plans |
Billing and usage
Every euro of subscription is a euro of usage, and a limit you set.
| Feature | Plans | Command |
|---|---|---|
Subscription matched in usage You pay whichever is higher: the plan, or what you used. Never both. | Personal and up | |
Four meters, nothing else Runtime, builds, storage and transfer are metered; domains, TLS, logs and metrics consume nothing. | All plans | |
Static sites are never billed Static builds, storage and delivery consume none of your allowance, on every plan. | All plans | |
The free plan cannot bill you A free organisation's usage is measured, then written off. There is no path from the Free plan to an invoice. | All plans | |
A hard spend limit you set Default 2× your subscription, adjustable; warnings at 50, 75, 90 and 100 percent. | Personal and up | tensel orgs set-spend-limit |
24 hours of grace at the limit At 100 percent, new paid actions stop and running apps get a visible 24-hour grace. Usage during the grace is absorbed, not billed. | Personal and up | |
Usage by day and by project See which project spent what, day by day, against your allowance and your limit. | All plans | tensel orgs usage --daily --by-project |
History at the prices of its time Closed periods are shown exactly as they were rated; a price change never alters a closed invoice. | All plans | tensel orgs history |
Factur-X invoices Invoices are PDFs carrying the EU e-invoicing XML, ready for your accounting software. | Personal and up | tensel orgs invoice |
Anniversary billing Your cycle starts the day you subscribed, not on calendar months. | Personal and up | |
European payments, EU VAT handled Payments run through Mollie (Amsterdam); VAT numbers are checked against VIES and the invoice is right for your country. | Personal and up | |
Cancel monthly No annual commitment; cancelling takes effect at the end of the period you paid for. | Personal and up | tensel orgs cancel-plan |
Sovereignty and data
Where things run, who can reach them, and how you leave.
| Feature | Plans | Command |
|---|---|---|
A French company under EU law Tensel is operated by a company incorporated in France, subject to European Union jurisdiction. | All plans | |
Workloads and platform data in Paris Applications, builds, images, database, secrets, backups and logs are hosted in Scaleway's Paris region. | All plans | |
Every subprocessor documented The full register is public, and every subprocessor is European; the one optional US integration (GitHub) is disclosed as such. | All plans | |
GitHub is optional Deploy from a folder and no code ever touches a US service; enabling auto-deploy is your call, and disclosed. | All plans | |
EU-routed delivery by default The static CDN serves from European points of presence; routing beyond Europe is an explicit opt-in. | All plans | |
No trackers This site sets no analytics cookies and loads nothing from a third party. | All plans | |
Restore proven by drill Backups are restored for real on a schedule, and the last drill's time to verified data is published. | All plans | |
Leave in standard formats Configuration and data export as JSON, images are OCI images, cancellation is monthly. No proprietary format anywhere. | All plans | tensel orgs export |
CLI and agents
The whole platform in the terminal, and skills your agent can use.
| Feature | Plans | Command |
|---|---|---|
Complete CLI Deploys, environments, domains, members, billing, audit: everything the dashboard does is a command. | All plans | npm i -g @tensel/cli |
--json everywhere Every read command emits documented JSON; the prose output is for humans and may change, the JSON shape is the contract. | All plans | tensel overview --json |
Human-readable references Commands accept org/project/application/environment references the way you would say them. | All plans | |
Eleven agent skills in the box The npm package ships skills for deploying, domains, logs, billing and more; one command installs them for your agent. | All plans | tensel skills install |
Skills hold no credentials A skill drives the CLI and never calls the API itself; tensel login stays the only path a credential takes. | All plans | |
Skills that know the limits Each skill states what the platform cannot do, so an agent asks you instead of inventing a workaround. | All plans | |
CI-ready A revocable API key via TENSEL_TOKEN, and --api-url to point anywhere a Tensel runs. Your session token never leaves your machine. | All plans | |
Destructive commands ask first Deletions prompt for confirmation; --yes exists for scripts that mean it. | All plans | |
Dashboard in French and English The web dashboard ships both languages, chosen on the device. | All plans |
Tensel does not (yet)
The gaps, on the same page as the features. Each one is a decision we can explain.
- No managed database, connect your own
- No persistent volumes: stateless applications only
- No background workers or scheduled jobs
- One region: Paris. A choice, not an omission.