Decidim implementation plan and cost

A Decidim implementation is planned around hosting, participatory spaces, verification rules, languages and the first live process. This page sets out what the work includes, what drives the quote, and what you need to provide.

On this page

What a Decidim implementation involves

Decidim is free to license. It is a participatory democracy framework released under the AGPL-3.0 and built on Ruby on Rails and PostgreSQL, so the license line in your plan is zero. The budget goes to what surrounds the software: hosting, configuration of participatory spaces and components, integrations with your identity and email systems, content, translations, and support during the first live process. Plan those lines separately from the code, because they are where most of the money and time go.

Organizations usually start this planning for one of three reasons. A city, region or agency may be launching its first participation platform. Another may be consolidating several consultation tools into one place. A third may be replacing an engagement SaaS whose contract, data location or customization limits no longer fit. Each trigger changes the plan. A first launch needs a clear set of processes, components and roles. A consolidation needs a decision on which existing tools retire and when. A replacement needs a view of how existing participants, proposals and records will move, which is covered on the migration page.

Many organizations keep part of the work in-house and hand technical setup, hosting and integration to a partner. Content, process design, moderation rules and communication with participants usually stay with the public body, because they depend on local政策 knowledge and institutional trust. Hosting, deployment, identity integration, verification rules and launch support are the parts that most often move to a partner. The split is driven by two things: how many people your team can release for the project, and whether you have staff who can run a Rails and PostgreSQL service after launch.

Upgrades, security hardening, single sign-on and identity verification, and cost of ownership are covered on their own pages, so this section does not go into them. Before you ask for a quote, confirm which components and spaces you need in the first release, who owns moderation and content, which languages are required, and which identity provider or eID must be connected. Those answers determine the scope that a fixed-price quote is built on.

What the implementation includes

The implementation is split into workstreams that each end in a named deliverable. Use this list to compare our scope with what your own team would have to build, and to see which items drive the quote.

Hosting and environments

We set up production, staging and backup environments in the cloud accounts, data centers or air-gapped network you control. Staging should mirror production closely enough to rehearse upgrades and restores. The handover is a configured environment set with a documented backup schedule and a tested restore procedure.

Rails application installation

We install Decidim as a Rails application, either manually or with Docker, and pin the Ruby, Node and PostgreSQL versions that the chosen release requires. Confirm which release branch you want before work starts, because the supported branches change over time. The handover is a versioned installation record and the deployment configuration.

Background jobs, file storage and email

We configure ActiveJob workers, ActiveStorage file storage for uploads and attachments, and SMTP for account and notification mail. Each depends on capacity and on whether your mail and storage services are already approved internally. Check delivery testing and upload limits early, since they affect how proposals and documents behave under load. The handover is a service configuration record.

Maps and geocoding

We configure the map provider and geocoding service used by meetings and location fields. Confirm which provider your data policy allows, because some options send address data to external services. Plan the API keys, usage limits and fallback behavior before launch. The handover is a documented map and geocoding configuration.

Organization and branding setup

We create the organization, set its public name, domains, default locale, logos, colors and legal pages. Decide early whether one instance will host several organizations, since that changes access and moderation design. The handover is an approved branding and organization configuration record.

Participatory spaces and components

We build the processes, assemblies and initiatives your program needs, then enable components such as meetings, surveys, proposals, participatory budgets and accountability. Each space is mapped to a component set and a stated purpose. The handover is an approved component map showing which spaces use which components.

Verification and authorization rules

We implement the verification and authorization rules set out in the design, so that actions such as voting or signing require the right level of verified identity. These rules often need legal and policy sign-off, and they are hard to change after participants have started using the platform. The handover is an authorization rule record and test results for each rule.

Translations and locales

We set up the languages your audience needs, load translation files and review interface text, including any custom wording for your program. Ask who approves translated text and how new strings will be handled after launch. The handover is a locale configuration and a translation review log.

Launch of the first process

We help you publish the first participatory process with its content and assign moderation and content roles to named people. Test the moderation workflow with real staff before public access opens. The handover is a launch checklist, a role assignment record and a runbook for daily operations.

What drives the cost and duration

Each driver shows why it changes implementation effort and how to keep it contained, and because no price list is published, a quote follows from a written scope.

DriverWhy it changes effortHow to keep it contained
Organizations or sub-sites on one instanceEach organization adds branding, languages, verification settings, social logins and moderation staff to configure and test.Start with one organization and write a per-organization configuration template before adding sites.
Languages and locale-prefixed URLsEach language needs translation, review and routing tests. Locale-prefixed URLs arrived in v0.32.0, so confirm the target release first.Limit languages to those with a named reviewer, and confirm URL behavior in the chosen release before design starts.
Spaces and componentsEach process, assembly, initiative and component adds content types, settings, permissions and test time.Launch with the components the first process needs, and add others through later change requests.
Verification rulesEach action restricted to verified participants adds an authorization handler, test cases and user-facing help text.Restrict only sensitive actions such as voting or signing. Identity provider detail is covered on the SSO page.
Branding, theme and accessibilityTemplates, styles and accessibility testing grow with each design change and each organization's identity.Reuse the default theme with configured colors, logos and content, and test accessibility on shared templates once.
Custom modules or processors beyond configurationCustom code must be built, tested and carried through every minor upgrade, and Decidim upgrades one minor version at a time.Confirm each need against existing settings and components first, and document custom code for the upgrade plan.
Hosting, environments and availabilityManual Rails or Docker installs, PostgreSQL, background jobs, file storage, SMTP and higher availability targets each add setup and testing.Use one standard reference setup, one staging environment and written availability targets confirmed before quoting.
Data import volumeImported participants, proposals and process history need mapping, cleaning, duplicate checks and trial loads.Import only records that must stay public, and run at least one trial load before setting a launch date.
Approval and moderation rolesEach moderator, administrator and approval step adds permissions to define, train on and audit.Define roles and an approval policy before the build, and keep the number of roles to what the process needs.

Project phases and what each produces

The sequence moves a Decidim platform from agreed goals to a staged, reviewed instance and then to a launched first process with support in place.

  1. Agree scope and participation goals

    The client and DeployOpen review participation goals, the organizations and spaces involved, required languages, identity verification rules and privacy obligations. DeployOpen records the answers and turns them into a written scope. The step closes when the client signs the scope and the list of open decisions.

  2. Design architecture and hosting

    DeployOpen documents the target hosting environment, the pinned Decidim release line, the Ruby and Node runtimes, the PostgreSQL version, file storage and the backup plan. The release line is confirmed at kickoff, because both the 0.32 and 0.31 branches receive security updates and releases move. The step closes with a signed architecture record.

  3. Build and configure the staging instance

    DeployOpen installs Decidim in the client's environment and configures background jobs, file storage, SMTP, maps and geocoding, and any agreed social login providers. Identity and authorization settings are wired to the agreed verification rules. The step closes with a working staging instance that the client can log into and test.

  4. Apply branding and translations

    The organization's branding, logos, themes and email templates are applied to the staging instance. Agreed languages are configured and the translation work is tracked against a list of required strings and pages. The step closes when the client approves the look, language coverage and copy on staging.

  5. Set up content and components

    DeployOpen creates the participatory spaces, such as processes, assemblies or initiatives, and enables the components the client has chosen, such as meetings, proposals, surveys or accountability tracking. Permissions, moderation roles and initial content are configured and checked with the client's staff. The step closes with a signed configuration checklist.

  6. Complete security and accessibility review

    Before public access, the staging instance is reviewed for supported version status, server and Rails configuration, admin access, upload handling, backup restores and accessibility against the agreed criteria. Findings are logged, fixed or accepted in writing by the client. The step closes with a review report and a list of accepted risks.

  7. Launch the first process with hypercare

    DeployOpen runs the go-live against a launch checklist, opens the first participatory process and hands over an operations pack with runbooks, backup and restore steps and contacts. The hypercare window is agreed in writing before launch and covers the period after go-live. The step closes with a signed handover pack and the end of hypercare.

What usually goes wrong and how to prevent it

These six risks come up most often in Decidim plans. Each one has a decision or check you can write into the quote and the launch plan.

Scope drift after the quote

Spaces, processes and components added after the quote change the build, the test effort and the hosting load. Decidim offers processes, assemblies, initiatives and components such as meetings, proposals and participatory budgets, and each addition needs its own configuration, moderation roles and translations. Freeze the list of spaces and components in writing, and route every change through a dated change request.

Languages added late

Each language adds interface strings, process descriptions, component texts and email templates. Adding a locale after content exists means translating and re-checking pages that are already published, and template changes can break layouts. Decide the full locale list before content entry starts, and confirm how URLs are structured by locale in the release you install, since v0.32 introduced locale-prefixed URLs.

Verification rules set after launch

Authorization handlers decide who can vote, support or sign. If rules change after participants have already acted, you must explain which votes qualify and which do not. Agree the verification method, the data it stores and the actions it gates before the first process opens, and confirm with the owner of your identity provider or eID that the handler works in production.

Hosting sized for a pilot

A pilot with a small group says little about launch week, when many participants register, comment and vote at once. Size the application servers, PostgreSQL, background job workers and file storage for the expected peak, then load test a representative scenario in staging. Ask the hosting team which tiers scale horizontally and which need a larger single machine.

Untested production dependencies

Background jobs (ActiveJob), file storage (ActiveStorage) and outgoing email over SMTP must work in the production configuration before go-live. Stopped job workers halt notifications and processing, and a misconfigured SMTP relay can block account confirmation, which blocks registration. Test each path end to end, and restore a database backup into a separate environment at least once before launch.

Installation on an unsupported release

Until version 1.0, Decidim supports only the last two minor versions with security updates, currently 0.32.x and 0.31.x. Version 0.32 requires Ruby 3.4.7 and Node 22.14.x, while 0.31 uses Ruby 3.3.4 and Node 22.14.x, so a server built for other runtimes will fail or drift. Name the release line in the quote, confirm runtime versions in the install guide for that release, and plan upgrades one minor version at a time.

What your team keeps and what a partner takes

This table shows which Decidim implementation work teams usually keep and which they usually hand to a partner, and a team with Linux, Ruby on Rails and PostgreSQL experience can keep more in-house, but the right split depends on who will run the platform after launch.

Work areaUsually kept in-houseUsually outsourcedSkills needed
Governance and process designDeciding who runs participatory processes, approval rules and public commitmentsFacilitating design workshops and drafting process templates for each spacePublic participation practice, legal and policy review, facilitation
Content and moderationPublishing content, moderating proposals and comments, answering participantsModeration playbooks, training for moderators, edge-case reviewsCivic communication, moderation policy, Decidim admin roles
Languages and translation reviewApproving final wording, checking local terms and toneSetting up locales, translation workflows and bulk translation toolingTarget-language fluency, local civic vocabulary, Decidim translation tools
Hosting, email and background jobsOwning the cloud or data center account, DNS, backups and mail relay contractsConfiguring the production stack, SMTP, ActiveJob workers and file storageLinux administration, Docker or manual installs, SMTP and queue operations
Rails and PostgreSQL operationsRoutine monitoring, backup checks and applying minor updatesMajor upgrades, database tuning, migrations and recovery drillsRuby on Rails, PostgreSQL administration, upgrade and rollback practice
Branding and theme workSupplying brand guidelines, logos, color choices and approving the final lookTheme customization, layout changes and cross-browser checksRails views, CSS and Decidim theming conventions
Integration with identity or CRM systemsProviding identity provider details, verification rules and data protection decisionsOmniAuth configuration, authorization handlers and CRM sync designOAuth and OIDC, Ruby development, identity administration
Testing and accessibility checksUser acceptance testing of processes and sign-off on accessibility goalsAutomated test runs, accessibility audits and fixes for findingsRails testing, WCAG-oriented auditing, assistive technology use
Launch supportStaffing the first process, communications and participant supportGo-live checklist, cutover rehearsal, on-call support and handover documentsRelease management, incident response, runbook writing

How the work differs by starting point

A new deployment starts with no legacy content or users, so the early weeks go to decisions rather than data work. Discovery centers on which participatory spaces and components the first processes need, who moderates them, and how public launch will be staged.

  • Discovery: agree the first spaces (processes, assemblies or initiatives) and components, and name the staff who will moderate and publish.
  • Hosting: choose between a manual Rails installation and Docker, and confirm where background jobs, file storage, SMTP, maps and geocoding will run.
  • Verification: decide which actions (voting, signing, proposing) require an authorization handler and what evidence the authority accepts.
  • Launch: plan a soft launch with a limited audience, then a public announcement once moderation and branding are checked.
  • Confirm: the target Decidim minor version, the hosting region and the translation languages needed on day one.

What you need to provide before the work starts

Most of the Decidim plan depends on decisions that only your organization can make. Before the work starts, name an executive sponsor who can settle scope disputes, and a platform owner who will approve configuration, speak for the project to other departments, and hold the admin accounts after launch. Confirm the hosting location and the cloud account, data center or air-gapped network where Decidim will run, including who holds the billing and root access. These choices set the infrastructure the quote covers, so they should be made first.

Next, gather the technical inputs the installation depends on. Decidim runs on Ruby on Rails and PostgreSQL, and production setups configure background jobs, file storage, SMTP, and maps and geocoding. Provide DNS control for the domain and any subdomains, a decision on URL structure for each language, working SMTP credentials for sending notifications, and a choice of map and geocoding provider with its terms of use. Also confirm which social login providers you want, if any, because each one needs its own registration and credentials.

Content and governance inputs are just as important. List every language the platform must support and name a translator or review partner for each, since translation effort grows with the number of locales and the amount of custom text. Supply branding assets and a style guide. Ask legal to approve the identity verification and privacy requirements in writing, including which actions require verified participants and what personal data may be stored. Assign a moderation and content owner for each space, and set a launch date tied to the first process, because missing items in this list are the most common cause of schedule change.

Frequently asked questions

Does Decidim have a license fee?

No. Decidim is free, open-source software licensed under the AGPL-3.0, so there is no license fee to pay. Cost sits in hosting, configuration, content, translations, moderation and support. Ask any partner to split the quote into one-time implementation work and recurring operations, and to state who pays for hosting. The AGPL-3.0 also has obligations for modified versions, including some that apply when a modified version is offered over a network, so ask your legal team to confirm what applies to any custom modules you plan.

How long does a first Decidim process take to launch?

The first process launches when the written plan says it can, and the date depends on scope and on your decisions. Drivers include the participatory spaces and components you choose, verification rules, branding, languages, data import and the number of approval rounds. Delays usually come from decisions that remain open at the start. Ask for a plan with dated milestones, a named owner for each decision, and a list of client inputs such as content, legal text and identity provider access.

Can our own team implement Decidim without a partner?

Yes, if your team already has working skills in Ruby on Rails, PostgreSQL and Linux operations. Decidim runs as a Rails application on PostgreSQL, and production setups also configure background jobs, file storage, SMTP, maps, geocoding and social login. Your team would own installation, upgrades, security patching and backups from the start. The trade-offs are covered in the in-house section of this page. If those skills are missing, compare a fixed-scope partner plan with hiring before you commit.

What changes a Decidim implementation quote the most?

Scope changes the quote most. The number and type of participatory spaces and components, custom modules, integrations with your identity provider or verification service, data migration from another platform, branding depth and the number of languages each add work. Hosting location also matters, since a platform in your cloud, a data center or an air-gapped network needs different setup and operations. Ask for each quote to list these as separate line items with stated assumptions, so you can see which decision moves the price.

Can we start a Decidim project on an older release?

No. Plan on a supported release line. Until version 1.0, Decidim supports only the last two minor versions with security updates, currently 0.32.x and 0.31.x, and 0.30.x and earlier are not supported. Starting on an older line means upgrading first, one minor version at a time, following each release's upgrade instructions and taking a database backup before each step. Ask the partner which release line the plan targets and how the upgrade path would be scheduled.

What does a client receive at Decidim handover?

The handover package depends on the written scope, so ask for it to be listed before work starts. Expect to confirm access to the deployed environment, source and configuration in your control, documentation of hosting and installed components, the backup and restore procedure, an upgrade plan for the supported release lines, admin training and a list of open decisions. Confirm whether ongoing support or upgrades are included or run as a separate retainer, since DeployOpen offers these as retainers.

How DeployOpen scopes, delivers and hands over Decidim

DeployOpen plans, implements, customizes, hardens, documents and supports self-hosted open-source platforms inside the client's own infrastructure, and Decidim is delivered the same way. The plan for a Decidim platform is agreed in writing before build work starts, so hosting, spaces, components and launch decisions are visible to the organization first.

How we scope

  • Engagements are fixed-scope, with the Decidim deliverables, timelines and exclusions agreed in writing before work starts.
  • The written scope lists the participatory spaces and components to be enabled, such as processes, assemblies, proposals or participatory budgets.
  • Scope records hosting location, verification rules, branding, languages and the first process to launch, which set the basis for a quote.

How we build

  • Installation runs in infrastructure you control, configured for background jobs, file storage, SMTP, maps and geocoding.
  • Branding, translations and per-organization social login settings are configured and reviewed with your communications and legal staff.
  • Authorization rules for voting or signing are tested with sample verified and unverified accounts before any public process opens.

How we hand over

  • Handover documents the deployed version, configuration decisions, backup procedure and the database backup taken before any update.
  • Your administrators receive a walkthrough of moderation, process setup and the update steps for one minor version at a time.
  • Confirm with DeployOpen which Decidim branch is supported at handover, since only the last two minor versions receive security updates.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the initial build.
  • Upgrade work follows each release's instructions and the security patch grace periods published by the Decidim project.
  • Security reports for Decidim go to the project's own channels, and DeployOpen can plan how your team receives and applies advisories.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.