Pricing and billing
Zenoba offers 4 plans for all team sizes. This page documents plans, limits, the trial system, access control and billing procedures.
Pricing plans
Each plan defines limits on projects, users, storage and AI tokens. Prices are per project manager (PM) per month.
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
Every new signup starts with a free 30-day Pro trial. All Pro features are accessible during the trial. The pro_trial plan is activated automatically.
On signup, the pro_trial plan is activated with an expiration date at D+14.
A TrialBanner displays the remaining days countdown in the top bar.
At D-3 and D-1, reminder emails are sent automatically.
On expiration, the workspace is automatically downgraded to the Starter plan (data preserved).
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
}Cancellation flow
Cancelling a paid plan follows a 5-step flow designed to retain the user while respecting their choice.
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
The full workspace export generates a ZIP file containing all projects, documents, users, forms and settings in JSON format. Compliant with GDPR and Quebec Law 25 portability requirements.
/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 entrepriseGDPR and Law 25
Zenoba complies with European GDPR and Quebec Law 25 on personal information protection. Each user can exercise their rights at any time.
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
Zenoba is available for on-premise deployment for organizations with data sovereignty requirements. Three license tiers are offered.
Standard
Up to 25 users. Manual updates. Email support.
Advanced
Up to 100 users. Automatic updates. Priority support. High availability.
Unlimited
Unlimited users. Automatic updates. Dedicated support with SLA. Multi-instance.
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
Dedicated Zenoba instance on private cloud infrastructure. 99.9% SLA, daily backups, 24/7 monitoring.
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.