Pricing and billing
Zenoba is in beta and collects no payment. This page separates the reference commercial grid, technical limits already enforced and billing mechanisms still to be delivered.
Pricing plans
Reference prices are per Management license: a named person who creates, plans or administers. Contributors, observers and approvers remain included within plan limits.
Starter
0$Free. For freelancers and small teams. Essential project management features.
Pro
59$/CPFor growing teams. Advanced Gantt, export, templates and built-in AI.
Team
129$/CPFor SMBs. Advanced collaboration, forms, automations and reports.
Enterprise
249$/CPFor large organizations. API, dedicated support and on-premise deployment.
Trial system
During beta, new workspaces are active without a commercial expiry and no payment is collected. The future 30-day trial exists in code but remains disabled until billing opens.
During beta, signup creates an active workspace with beta limits.
No trial countdown is displayed while billing remains closed.
Expiry reminders must be proven before commercial launch.
The future downgrade will preserve data; this is an exit criterion for the Billing delivery lot.
Feature gating
The feature gating system blocks access to premium features based on the enterprise's current plan. Three key elements compose this system.
PLAN_LIMITS
Server-side Python dictionary defining limits for each plan. The value -1 means unlimited.
PLAN_LIMITS = {
"starter": { "projects": 2, "users": 5, "storage_mb": 500, "ai_tokens": 0 },
"pro": { "projects": 10, "users": 25, "storage_mb": 5000, "ai_tokens": 10000 },
"team": { "projects": 50, "users": 100,"storage_mb": 25000, "ai_tokens": 50000 },
"enterprise": { "projects": -1, "users": -1, "storage_mb": -1, "ai_tokens": -1 },
}<UpgradeGate />
React component that wraps premium features. If the current plan is below the required plan, content is replaced with an upgrade message.
<UpgradeGate feature="ai_chat" plan="pro">
<AIChatPanel />
</UpgradeGate>
// Si le plan actuel < pro, affiche PlanLockBadge
// avec bouton "Passer a Pro"<PlanLockBadge />
Lock badge displayed on buttons or menus leading to locked features. Includes a link to the plan upgrade page.
Billing API
/api/v1/auth/planReturns the enterprise's current plan, its limits, current usage and trial status. Used by the frontend for feature gating.
// Response 200
{
"plan": "pro",
"plan_label": "Pro",
"limits": {
"projects": 10,
"users": 25,
"storage_mb": 5000,
"ai_tokens": 10000
},
"usage": {
"projects": 3,
"users": 8,
"storage_mb": 1200,
"ai_tokens": 4500
},
"trial_active": false,
"trial_days_left": 0
}Planned cancellation flow
The target flow has five steps. It is unavailable during beta and must be fully proven before billing opens.
Access settings
The user clicks "Cancel my plan" on the billing page.
Exit survey
A form asks the reason for cancellation (too expensive, missing features, competitor, etc.).
Retention offer
Based on the reason, a personalized offer is proposed (discount, trial extension, upcoming feature).
Confirmation
The user confirms cancellation. A confirmation email is sent.
Downgrade
The workspace is downgraded to the Starter plan at the end of the billing period. Data is preserved.
/api/v1/auth/cancel-plan// Request body
{
"reason": "too_expensive",
"feedback": "Le prix est trop eleve pour notre equipe"
}
// Response 200
{
"ok": true,
"downgrade_date": "2026-08-30T00:00:00Z",
"plan_after": "starter"
}Data export
A full workspace export creates a ZIP file containing projects, documents, users, forms and settings. Users can download a copy of their data.
/api/v1/export/workspace// Response 200 — fichier ZIP contenant:
// projects/ → JSON de chaque projet (taches, liens, ressources)
// documents/ → fichiers uploades
// forms/ → formulaires et soumissions
// users.json → liste des utilisateurs
// enterprise.json → configuration entrepriseData and privacy
Zenoba provides tools to review, export and request deletion of account data.
The user requests account deletion via the settings page or the API.
An automatic export is generated if the export_before_delete option is enabled.
A 30-day grace period allows cancelling the deletion and recovering data.
After 30 days, all personal data is permanently and irreversibly deleted.
/api/v1/auth/delete-accountIrreversible endpoint (after grace period). Requires the user's password for confirmation.
// Request body
{
"confirm": true,
"password": "********"
}
// Response 200
{
"ok": true,
"deletion_date": "2026-08-30T00:00:00Z",
"grace_period_days": 30
}On-Premise deployment
Dedicated cloud, deployment in the customer cloud account or private installation are assessed on quote. No service level is promised before architecture and responsibilities are validated.
Standard
Scope is bounded after reviewing the environment, volumes and required assistance.
Advanced
Dedicated cloud or customer cloud account, with responsibilities and operations defined by contract.
Unlimited
Scope, updates, support and service objectives are defined by contract.
Docker Compose deployment
# Deploiement Docker Compose
git clone https://github.com/zenoba/zenoba-onprem.git
cd zenoba-onprem
cp .env.example .env.local
# Configurer FQDN_LICENSE, DB_PASSWORD, etc.
docker compose up -dProfessional services
In addition to SaaS plans, Zenoba offers professional services to support organizations in their digital transformation.
Dedicated hosting
Isolated instance on Canadian infrastructure, as an Enterprise add-on; backup, restore, monitoring and service objectives are contractual.
Customization
Adaptation of interface, workflows and reports to your organization's specific needs.
Custom development
Add-on modules, third-party API integrations, ERP/CRM/HRIS connectors.
Support packages
User training, data migration, initial setup, project maturity audit.