Email newsletter platform RFP questions

The questions to put to vendors and implementation partners before you buy a self-hosted newsletter platform, with what a good answer contains and which answers should worry you.

On this page

Email newsletter platform RFP questions to ask before you choose a platform

A team comparing self-hosted newsletter options such as listmonk, Mautic and Dittofeed, along with the implementation partners who would deploy them, needs every bidder to answer the same questions on equal terms. Send one written brief to each bidder, score every answer against the same criteria, and require the winning proposal to define its scope in writing before any work starts. The questions below are neutral to vendors. This page does not recommend a platform, and the right answer depends on your sending volume, data location, consent model and internal skills.

Start with platform and edition fit. Ask each bidder which product and version it proposes, why that product fits your list size, campaign style and automation needs, and whether it relies on a paid edition or add-on for any function you have listed. For listmonk, ask how campaigns, transactional templates and SSO are delivered. For Mautic, ask how the proposal covers the cron jobs and queue consumer that segment and campaign processing depends on, and which PHP and database versions the proposal targets. For Dittofeed, ask the bidder to state whether it treats the pre-release line as production-ready and how it will handle upgrades. Ask every bidder to confirm the current release it would install, not the one in the marketing page.

Next, cover licence obligations, migration and the support model. Ask for a written statement of each licence that applies to the proposed stack, including the licence of any component the bidder would add, and whether the bidder will customize code in a way that creates obligations to publish changes. Ask how existing subscribers, consent records, suppression lists and sent-message history will be exported, validated and imported, and who verifies the counts. Ask how hosting is priced and by whom, which support tasks recur after go-live, what the response expectations are, and how the fixed scope, deliverables and acceptance tests are written into the agreement. Any proposal that cannot describe these items in writing should be scored lower.

Which platform and edition fit our newsletter needs

listmonk is a self-hosted newsletter and campaign manager that runs as a standalone binary with PostgreSQL as its only dependency. Its strengths are campaign sending, subscriber segmentation and a transactional API for pre-defined templates. Your RFP should test whether that scope matches your needs and who will run it.

  • Licence obligations: listmonk is licensed under the AGPL v3. Ask the vendor or partner to confirm what that means for any modifications you make and whether your legal team has reviewed it for your use.
  • Release line and support: The most recent release supplied for this topic is v6.2.0, published June 26, 2026. Ask which versions receive fixes, how security patches are delivered and how upgrades are tested against your templates and integrations.
  • Send path: Confirm whether you need campaigns, transactional messages or both. listmonk's multi-threaded queues and rate limiting across several SMTP servers suit campaigns, while its transactional API serves pre-defined templates.
  • Dependencies: PostgreSQL is the only stated dependency. Ask how the database is sized, backed up and patched, and whether SMTP relays or messengers such as SMS or push are included in scope.
  • Identity and roles: Ask how OIDC single sign-on, granular roles and API tokens are configured against your directory.

Check the licence, current release and support window on the listmonk project pages before you finalize the brief.

Licence obligations the vendor must confirm in writing

What license does listmonk use and what does it require?

listmonk is licensed under the AGPL v3, which is a strong copyleft license. The AGPL applies to the software you run, so you should ask the vendor to confirm the license in the project's own GitHub repository and to state in writing whether any code in your deployment falls under a different license. Ask which version you will deploy, such as the current v6.2.0 release published on June 26, 2026, and confirm that your implementation documentation names it. Counsel should review what the AGPL obligations mean for your organization's use.

Does the AGPL require us to publish source code when we modify listmonk?

The AGPL requires that users who interact with a modified version over a network can obtain the corresponding source code, so internal changes can trigger obligations. Ask the vendor to list every change planned for your deployment, including custom templates, messengers, plugins and patches, and to explain how each is classified. Confirm where modified source will be kept, who receives it, and how it will be provided if a user or regulator asks. Counsel should confirm whether your planned changes create a source disclosure duty for your use.

Does Mautic's GPL-3.0 license change if we host it as a service?

Mautic's repository is licensed under GPL-3.0, which is a copyleft license that generally applies when you distribute modified copies of the software, not merely when you run it internally. Ask the vendor to confirm whether your use is internal, whether you will provide Mautic to third parties such as clients or partners, and whether any modified code will be shared outside your organization. Confirm that the project's license is cited from the Mautic GitHub repository in your implementation records. Counsel should decide whether distribution or hosting for others triggers obligations.

Is Dittofeed's MIT license the same as its paid or hosted offerings?

Dittofeed is MIT licensed according to its GitHub repository, which is permissive and allows commercial use and modification with a notice requirement. Its recent GitHub releases are pre-release tags, with v0.24.0-alpha.21 published on October 4, 2026, so ask the vendor to confirm which tag is deployed and whether it is suitable for production. Ask whether any Dittofeed features, connectors or hosted services are offered under separate terms, and get that answer in writing. Counsel should confirm the notice and attribution duties that apply to your release.

Do paid editions, managed services or hosting providers carry different license terms?

The vendor should state whether any component of the platform, add-on, connector, template pack or managed service is licensed on different terms from the core project. Mautic's project states that it has no paid edition of the software itself, but separately promoted managed Mautic and hosting services exist, so ask which services are contracted and what terms apply to each. Ask for every third-party license, including the sending service you connect to, and request copies of the terms in writing before work starts. Counsel should review any service agreement with the vendor alongside the open-source licenses.

Who is responsible for license compliance during implementation?

The organization that deploys and operates the platform carries the compliance duty for its own use, while the implementation partner should document what it installs, modifies and delivers. Ask the vendor to name the person accountable for an inventory of licenses, notices and versions, and to provide that inventory as a deliverable. Confirm who approves changes to license-sensitive code, how upgrades will be tracked against license changes, and what happens if a license changes in a future release. Counsel should set the responsibility split in the written scope.

How should the vendor show license evidence in its proposal?

The vendor should cite the license from each project's own repository, record the exact version, and state the date it was checked. For listmonk, ask for citations to the project's GitHub repository and releases page, for Mautic to the GitHub repository and releases page, and for Dittofeed to its repository and release list. Ask for a license file, notice file and dependency list for the exact release deployed. Keep these records with the fixed-scope document so the scope and licensing position can be reviewed together.

Can a vendor confirm licenses without legal review by our counsel?

A vendor can state what a license says and where it is published, but it cannot decide how the license applies to your organization's specific use. Ask the vendor to confirm the license facts in writing, and ask your counsel to review the obligations that follow from your use, distribution and modifications. DeployOpen plans, implements and documents self-hosted platforms in your own infrastructure, so ask for written scope that states which licensing deliverables are included. Treat that scope as the basis for your legal review, not as legal advice.

Hosting model and data location questions

Hosting questions decide where subscriber data, sent messages and admin access sit, and they are the first place a regulated buyer will push back. Ask each vendor or partner to answer the same set of location and exposure questions in writing.

Where the platform and database run

Ask which cloud account, data center or air-gapped network hosts the application server and its database, and who holds administrative access to each. A good answer names the region, the hosting environment and the database engine (for example PostgreSQL for listmonk or MySQL or MariaDB for Mautic), and confirms that subscriber tables stay in the client's own infrastructure. Ask for a written data flow diagram.

Sending service inside or outside the region

The sending relay is often the step that moves personal data out of the approved region. Ask whether the SMTP or API provider is inside the approved region, which regions it processes in, and whether message content, recipient addresses and bounce data are stored there. Confirm that the platform can point at a regional endpoint and that the provider's data processing terms are in the contract file.

Backup location and retention

Backups of subscriber lists, consent records and sent-message logs usually hold more personal data than the live system. Ask where backup copies are stored, whether they are encrypted with keys the client controls, how long each backup tier is retained, and how an erasure request reaches backups. A good answer gives a written retention schedule and a restore test record.

Network exposure of admin interfaces

Admin consoles, API endpoints and tracking or unsubscribe paths have different exposure needs. Ask which interfaces are reachable from the public internet, which sit behind VPN or a private network, how single sign-on and API tokens are restricted, and how the tracking and link domains are isolated. Request the firewall rules and the list of exposed hostnames before go-live.

Shared hosting and the Mautic advice

The Mautic project states that Mautic should not be installed on shared hosting and recommends a VPS or dedicated server. Ask whether the proposed design follows that advice, what server class is quoted, and whether cron jobs and the messenger consumer run on that same dedicated host. Any proposal on shared hosting should be treated as a documented exception with its own risk acceptance.

Hosting change and exit controls

Ask how the hosting location can change over the life of the platform, who approves a move to another region or provider, and how data is exported if the client leaves. A good answer lists the change approval path, the export formats for subscribers and consent records, and the steps to remove copies from backups and the sending provider.

Security evidence to request from a partner and from the platform

Can listmonk sign administrators in through our existing identity provider?

listmonk supports OIDC single sign-on with granular roles, permissions and API tokens, according to the project's website. Confirm the configuration for your deployment before relying on it: ask the bidder to show the OIDC settings working against your identity provider, how role assignments map from your groups, and how staff accounts are removed when someone leaves. Ask whether API tokens are issued per integration, who can create them, and how they are revoked. Ask every bidder to demonstrate the same sign-in, role and token revocation steps in a test environment so the answers can be compared directly.

How should secrets such as SMTP credentials and API keys be stored?

Ask where every credential lives and who can read it. The list usually includes SMTP and messenger credentials, database passwords, OIDC client secrets and API tokens. Ask the bidder to name the secret store used in your environment, whether values appear in container images, compose files or configuration files in version control, and how rotation is done without a send outage. Request a written procedure for rotating each credential type, and ask who performs rotation after go-live. Strong answers name the storage mechanism and the owner of each secret rather than describing security in general terms.

How quickly will the bidder apply patches to the platform and its dependencies?

Ask for the patch cadence written against each project's published support windows. For Mautic, the project publishes monthly patch releases, minor releases every three months and major releases every two years, and it lists security support end dates for each version. Confirm which Mautic version you will run and when its security support ends, then ask how the bidder will move you before that date. Ask the same question for the operating system, PostgreSQL or MySQL, PHP and the web server. Request the bidder's process for testing a patch, the window in which it is applied and the rollback plan. Any SLA on patch timing should appear in the written scope, not in a verbal assurance.

What vulnerability scanning and penetration test scope is included?

Ask whether scanning and testing are part of the fixed scope or a separate retainer, and what each covers. Scanning typically covers the hosts, containers and dependencies, while penetration testing covers the web interface, the subscriber import and API endpoints, the public subscription and unsubscribe pages, and the sending path. Ask who selects the test scope, who receives the findings, how severity is rated and how fixes are tracked to closure. DeployOpen runs security testing of applications, APIs, cloud and infrastructure, and AI systems. Ask each bidder for a sample scope document and the report format it would deliver before signing.

Which admin and send actions are logged, and where do the logs go?

Ask for a list of the events that produce a record, and confirm that each one is available in your deployment. Useful events include administrator sign-in and role changes, API token creation and revocation, list exports, subscriber deletions, template edits, campaign creation and launch, and changes to SMTP settings. Ask where logs are stored, how long they are kept, whether they are forwarded to your central logging platform, and whether they can be made tamper-evident. Confirm that the logs record the acting user and timestamp. The bidder should show a sample log entry for each event type.

Which compliance evidence can the partner prepare for an assessment?

DeployOpen prepares systems, controls and evidence for compliance assessments. It does not issue audit reports, attestations or certifications; independent auditors and certification bodies do that work. Ask each bidder which artifacts it will prepare, such as access reviews, configuration baselines, patch records, backup and restore test results, change records and data flow diagrams. Ask who keeps the evidence after the engagement ends and in what format. Ask for references to the control areas the evidence supports, but do not accept any claim that a bidder's work alone satisfies an audit. Put the list of artifacts in the written scope.

Can we do the security administration ourselves after the engagement ends?

Yes, if the handover is planned into the scope. Ask the bidder to list the runbooks it will deliver, including account provisioning, token rotation, patch application, log review and restore testing, and who on your team will be trained to run each one. Ask whether the platform's configuration is kept in version control so that changes can be reviewed. If you want the partner to remain responsible for patching or testing, ask whether that is delivered under a retainer and what the retainer covers. The cost of internal administration recurs with staff time, while the handover itself is usually one-time work defined in the written scope.

Support terms after go-live and how they are priced

This sequence turns vague promises of ongoing help into written terms that name who answers, how fast incidents move, who applies patches and upgrades, and what is proven about backups. A buyer finishes with a support schedule that can be checked against the platform after go-live.

  1. Confirm the handover package and runbook

    Before go-live, ask the partner to hand over the deployment architecture, configuration inventory, admin accounts, secrets locations, sending domain and DNS records, and a runbook covering routine tasks such as adding a list, rotating an API token or restarting the service. Ask who owns each artifact after handover and where it is stored. The step is complete when your team can perform the listed routine tasks without the partner present and has signed acceptance of the package.

  2. Define incident response hours and escalation

    Ask for the support hours, the channels for raising an incident, the severity levels the partner uses, and the escalation path from first responder to engineer and named account lead. Confirm which incidents are covered (for example, a stalled send queue, a broken subscription form or a sending service outage) and which sit with your own team or your sending provider. The step is complete when the severity definitions and escalation contacts appear in the written terms with named roles, not only job titles.

  3. Agree how security patches are handled

    Ask how the partner tracks security releases for listmonk, Mautic or Dittofeed, the PostgreSQL or MySQL dependency and the operating system, and how quickly it reviews and applies them to your environment. Ask whether patches are tested in a staging copy first and who approves the change window. Also confirm that the platform's release line you run still receives security fixes, because support ends for older Mautic releases on set dates. The step is complete when the patch process and the approver are written down.

  4. Schedule upgrades against each release line

    Ask the partner to name the release line it will run and the process for moving to the next one, including a test send, a template render check and a review of configuration changes. For Mautic, ask how the partner plans around its monthly patch, quarterly minor and two-year major release pattern. For listmonk and Dittofeed, ask how breaking changes are assessed before upgrade. The step is complete when a written upgrade calendar or trigger rule exists, along with a rollback plan for each upgrade.

  5. Prove backups with scheduled restore tests

    Ask what is backed up (database, uploaded media, configuration, templates and cron or queue settings), how often, where copies are held, and who can restore them. A backup that has never been restored is not evidence, so ask for restore tests on a schedule you agree, performed in an isolated environment, with a record of the time taken and the subscriber counts verified after restore. The step is complete when a restore test report exists and you have seen it.

  6. Set renewal and retainer terms in writing

    Ongoing support, upgrades and continuous testing are available as retainers, and most engagements are fixed-scope with scope, deliverables and timelines agreed in writing before work starts. Ask for the retainer scope, what is excluded, how additional work is quoted, how renewal and termination work, and what happens to access and documentation at exit. Ask for named responsibilities on both sides. The step is complete when a signed document lists these items, and you can point to the clause that covers each.

What a fixed-scope answer must contain

A fixed-scope answer should list the deliverables in terms a reviewer can check: which listmonk or Mautic instance is installed, which sending service is connected, how subscriber lists are imported, which SSO method is wired to the admin console, and which runbooks and backup jobs are handed over. Ask each bidder to state what is out of scope in the same breath. For example, a bidder may exclude custom template design, a new sending domain's DNS changes, or retraining of marketing staff, and those gaps will surface as change requests after go-live if they are not written down now. Ask for the assumptions about your environment too: the PostgreSQL version and hosting location for listmonk, the PHP and database versions for Mautic, the account that owns the SMTP or API credentials, and who approves DNS edits. Each assumption should be marked as confirmed or open.

Most engagements are fixed-scope and agreed in writing before work starts, and DeployOpen does not publish a price list. A quote follows from the written scope. That makes the scope document the basis for comparison, so send the same document to every bidder and require a quote built directly from it. Ask how change requests are raised, priced and approved, who signs them, and how they affect the timeline. Ask for the acceptance tests that close each deliverable: for instance, a test campaign delivered to seed addresses, a double opt-in confirmation that writes a consent record, a suppression list check after a simulated unsubscribe, and a restore of the database from backup into a separate environment. Each test should name the person who signs it off. Confirm with each bidder which of these items recur after go-live and which are one-time, because the answer determines whether support is a separate retainer or part of the original scope.

Answers that should worry you

Vendor answers to an RFP are often vague in exactly the places that cause cost and risk later. The cards below cover the replies that should slow a decision down, and the follow-up question that tests each one. Treat a weak answer as a signal to ask again in writing, not as a minor gap.

Vague licence answers

A reply that says the platform is "open source" without naming the licence and its edition boundaries leaves obligations unknown. listmonk is licensed under AGPL v3, Mautic under GPL-3.0, and Dittofeed under MIT, and each carries different duties when you modify or host the code. Ask for the exact licence of every component, which features sit behind a paid or separately licensed edition, and whether any add-on or module is licensed differently from the core.

Certification claims without evidence

A vendor or partner that says the stack is "compliant" or "certified" without naming the assessor, the report period or the scope is making a claim you cannot verify. Implementation partners prepare systems, controls and evidence for an assessment, but independent auditors and certification bodies issue the reports. Ask which assessment was performed, by whom, over which systems, and for what date range, and request the report or a written statement of what it covers.

No named release line or patch window

If a bidder cannot say which release line it will deploy and how long that line receives security fixes, you will inherit an unsupported version within a year. Mautic publishes separate support windows for each line, for example 7.2 with security support until 30 September 2026 and 7.3 planned as the long-term support release with security support through 31 December 2027. Ask for the named release, its end-of-security date, and the written process for applying patches within the fixed scope.

Migration described without reconciliation

A migration plan that only says "we will import the lists" does not show how subscriber counts, consent status, suppression entries and unsubscribes will be matched to the source system. Missing suppressions can send email to people who opted out, which creates legal exposure under anti-spam rules. Ask for a reconciliation method with record counts at each stage, a rule for keeping suppressions, how consent evidence is carried over, and who signs off on the final numbers.

No written exclusions in scope

A quote that lists deliverables without naming what is excluded invites disputes after go-live. Email newsletter work often assumes DNS changes, sending-domain authentication, sending service accounts, template redesign or accessibility remediation, and none of these are free by default. Ask the bidder to list in writing what is out of scope, which party owns each dependency, and what happens when a change request arises. Most engagements are fixed-scope, so the written exclusions define what the fixed price covers.

Support terms that skip responsibilities

Support language that promises "ongoing help" without naming who responds to bounce spikes, failed sends, security advisories or platform upgrades leaves an urgent incident without an owner. Ask who is on first response, who holds the sending service account, who applies security patches, and how the handover from project to retainer works. Ongoing support, upgrades and continuous testing are available as retainers, so ask for the retainer terms in writing, including which tasks sit inside them.

How to score vendor and partner responses

This table compares vendor and partner answers across seven criteria, with what a top, middle and low score looks like for each. Agree the scores and weighting before responses arrive, so the scoring reflects your requirements rather than the most polished pitch. A bid that scores high on platform fit but low on licence clarity or scope definition is a risk to resolve before contract, not a winner.

CriterionTop scoreMiddle scoreLow score
Platform fitNames listmonk, Mautic or Dittofeed, explains why it fits your send volume, channels and team skills, and states what it would not coverRecommends a suitable platform but gives generic reasons and no sizing or channel detailProposes a platform without asking about your lists, volumes or existing tools
Licence clarityStates the licence for each component (for example AGPL-3.0 for listmonk, GPL-3.0 for Mautic, MIT for Dittofeed) and identifies any paid add-ons or servicesNames the licence but does not address add-ons, plugins or bundled third-party componentsSilent on licences, or describes the platform as free without any obligations
Migration planDescribes how subscribers, consent records, suppression lists, templates and campaign history will move, with validation steps and a rollback planCovers subscriber import only, with no detail on consent proof, suppressions or historyAssumes a CSV export will do, with no mapping, validation or reconciliation
Hosting and data locationNames the hosting model, regions, the sending service and where personal data and tracking data are stored and processedStates self-hosting in general terms without naming the environment, backups or the sending provider locationPlaces data in a shared or unnamed environment, or cannot say where logs and backups sit
Security evidenceProvides configuration baselines, access controls, SSO approach, vulnerability handling and independent test results you can requestDescribes controls in narrative form with no supporting artifacts you can reviewOffers assurances without documentation, or relies on the vendor's own marketing
Support terms after go-liveDefines response expectations, upgrade and patch handling for the chosen platform version, and who is responsible for each componentOffers support hours or a retainer but leaves upgrades, bounce handling and incident ownership unclearSupport is available on request, with no defined scope, ownership or exit terms
Scope clarityLists deliverables, exclusions, assumptions, acceptance criteria and change control in writing, with a fixed-scope proposalLists deliverables but leaves exclusions, acceptance tests or change handling undefinedOffers time and materials with no deliverables, or a scope that cannot be tested at handover

How DeployOpen scopes, delivers and supports newsletter platform work

DeployOpen plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source platforms inside the client's own cloud accounts, data centers or air-gapped networks. For email newsletter platform RFP questions, we start by turning your answers to these questions into a written scope before any work begins, so the platform choice, licence position, migration and support terms are settled on paper first.

How we scope

  • Written scope covers platform and edition choice, licence obligations and the hosting model you need
  • Migration of existing subscriber lists, consent records and sent-mail history is defined before any data moves
  • Security evidence requests and integration boundaries are listed as named deliverables with agreed acceptance points
  • Engagements are fixed-scope, so deliverables and timelines are agreed in writing before work starts

How we build

  • Deploy the chosen platform, such as listmonk, Mautic or Dittofeed, in your own infrastructure under your change control
  • Configure sending through your own SMTP or email service provider, with authentication and unsubscribe handling set up
  • Test list imports, consent flows, templates and transactional sends against the agreed acceptance criteria
  • Run security testing on the application and its APIs before go-live, with findings tracked to closure

How we hand over

  • Documentation covers architecture, configuration, data flows, backup and restore steps, and the admin runbook
  • Evidence packs for compliance assessments are prepared, but independent auditors issue any reports or certifications
  • Knowledge transfer sessions train your administrators on campaigns, segments, roles and API tokens
  • Handover is confirmed against the written scope so both parties know what was delivered and what remains open

How we support

  • Ongoing support, upgrades and continuous security testing are available as retainers after go-live
  • Retainer terms, response expectations and upgrade cadence are agreed in writing, so you know what to ask for
  • Platform upgrades, such as new releases of your chosen newsletter tool, are planned and tested before rollout
  • Ask any implementation partner to confirm support hours, escalation paths and who holds the backup and restore duties

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.