Mautic security hardening

Mautic security hardening covers the server, PHP settings, user access, public tracking and form endpoints, API credentials, consent records and patching of a self-hosted install. This page explains the decisions, build order, effort drivers and checks that show the install is hardened.

On this page

Mautic security hardening starts with what a self-hosted install exposes

If your team has chosen to self-host Mautic, you will be asked to explain how the installation is protected, and the answer has to cover more than one layer. Hardening a self-hosted Mautic install covers the server, the PHP runtime, user access, public endpoints, API credentials, personal data handling and patching. Each of these is a separate surface, and a weakness in one can undo good work in the others. Start by listing what the install actually exposes before deciding which controls to apply. A default-looking install is harder to secure than it appears. Mautic is written in PHP on the Symfony framework, so the web tier, the PHP version and its extensions all need to be configured and kept current. It depends on cron jobs for segment updates, campaign updates and campaign triggers, and the project's documentation says those jobs should be staggered. When emails are queued, a messenger consumer also has to run continuously. Each background process runs under an account on the server, and each one needs its permissions and logging reviewed, not just the web front end. The project states that Mautic should not be installed on shared hosting and recommends a VPS or dedicated server instead. That matters for security because you, not a hosting provider, become responsible for the operating system, the web server, file permissions, database access and firewall rules. Confirm with your own infrastructure team who owns each of these layers before the build starts, since gaps usually appear at the boundaries between them. Patching is an ongoing duty rather than a one-time task. The project's stated cadence is monthly patch releases, minor releases every three months and major releases every two years. Each major release also changes the supported PHP versions, so a PHP upgrade can be forced by a Mautic upgrade. Before you commit to a version, check the support end dates on the Mautic releases page, and decide who will apply each monthly patch and how quickly. DeployOpen configures and documents these controls inside your own infrastructure, and it prepares the evidence your assessors will ask for. It does not issue audit reports, attestations or certifications. Those come from independent auditors or certification bodies, so ask your assessor early which evidence they expect to see.

Which Mautic components and endpoints need hardening

A Mautic install is more than the application itself: it is a web root, a PHP runtime, a database, scheduled and queued workers, public endpoints, administrator access, an API and outbound credentials for email and CRM. Each of these exposes a different risk, so each needs its own configuration decisions and checks before go-live and after every upgrade.

Web server and document root

Mautic runs under Apache, Nginx or IIS, and only the public directory should be reachable from the internet. The team should confirm that the application source, configuration files, logs and vendor directories sit outside the web-served path, that directory listing is off, and that HTTP is redirected to HTTPS with a current TLS configuration. Test these by requesting configuration and source paths from outside the network.

PHP runtime and settings

Mautic 7.0 requires PHP 8.2, 8.3, 8.4 or 8.5, so the runtime version must match the Mautic release in use and be on a version still receiving security fixes. The team should review display_errors, expose_php, file upload limits, allowed functions and the open_basedir or equivalent restrictions in its own environment, and confirm that the PHP process runs under a dedicated low-privilege account.

Database connection

Mautic requires MySQL 5.7 or higher with InnoDB, or MariaDB 10.2 or higher, and it stores contacts, consent records and tracking history there. Confirm that the application uses a dedicated database account with only the privileges its installer and runtime need, that the connection is encrypted where the network path crosses a trust boundary, and that the database is not reachable from outside the application tier.

Cron and messenger processes

Segment updates, campaign updates, campaign triggers, broadcasts and queued email all run as scheduled commands or a messenger consumer, outside the web request path. Confirm which user runs these jobs, that their logs are protected, that the commands are not callable over HTTP, and that a failed or stalled worker is detected. Staggered schedules also limit how much a single misbehaving job can affect the system.

Public tracking and form endpoints

Tracking pixels, landing pages and form submissions must be reachable by anonymous visitors, which makes them the most exposed part of the install. Confirm which paths are public, that form inputs are validated and rate-limited at the edge where your environment supports it, that bot and spam controls are configured for forms, and that tracking responses do not reveal internal paths or version details.

Admin login and user roles

Mautic uses basic authentication for its own users and can integrate with a SAML single sign-on identity provider. The team should confirm the password policy and lockout behavior it enforces, whether administrator access is restricted by network path or additional controls, which roles exist and who holds them, and how accounts are removed when people leave. Review these against the chosen authentication method, since the docs describe no LDAP option.

API access and credentials

The Mautic API lets other systems read and change contacts and campaign data, so each API client is a privileged identity. Confirm which API access method is enabled, which clients exist, what permissions each one holds, how secrets are issued and rotated, and whether the API is reachable from networks that do not need it. Remove clients that no longer have an owner.

Mailer and CRM credentials

The SMTP or transactional email service and any HubSpot or Salesforce connection hold credentials that can send mail in the organization's name or read and write customer records. Store them in a secrets mechanism rather than in plain configuration committed to version control, scope each credential to the minimum needed, and confirm who can view or rotate them. Record which integration owns each credential so rotation does not break campaigns.

Mautic security hardening choices and their operational cost

This table compares the main hardening decisions for a self-hosted Mautic install and what each one costs in staff time, access friction or monitoring effort. Read each row as a trade-off: the right column tells you when an option fits, and the middle columns show what you take on by choosing it. Confirm the specifics of your environment before treating any option as settled.

DecisionOption AOption B
Hosting platformVPS: fits most self-hosted installs. Your team manages the OS, PHP, web server, patching and backups, so monitoring effort is ongoing.Dedicated server: fits higher contact volumes or stricter isolation needs. Higher fixed cost, and the same patching and monitoring duties apply.
Admin loginLocal basic authentication: simplest to run. Your team manages password policy, account lifecycle and offboarding by hand.SAML single sign-on: centralizes sign-in and offboarding through your identity provider. Needs attribute mapping for email, first name and last name, plus certificate upkeep. No LDAP option is documented, so confirm the fit with your directory.
Administrator accountsSingle shared administrator: fastest to set up but weak for audit. Activity cannot be tied to a person, and access reviews are hard.Named users with defined roles: fits any team that must show who changed campaigns, segments or settings. Needs role design up front and periodic access reviews.
Network exposure of the admin pathWhole site public: simplest for marketing staff access, but the admin login is reachable from anywhere, so brute-force monitoring and rate limiting become your job.Admin path restricted at the network edge: narrows exposure to known networks or VPN. Adds access friction for remote staff and requires maintaining allow lists.
Patch routineIn-house routine: your team tracks the monthly patch releases, quarterly minor releases and PHP support changes. Staff time recurs every month.Retainer with a partner: covers scheduled patch review, testing and deployment. Recurring fee, with the scope and response expectations written into the agreement.
Tracking and form endpointsPublic by design: must stay reachable from the web, so hardening relies on input validation, rate controls and monitoring of unusual traffic.Separated or filtered hosts: can reduce exposure of admin functions on the same origin. Adds DNS, certificate and configuration work to maintain.

How to run Mautic security hardening in order

This sequence moves a self-hosted Mautic install from a default build to a controlled environment, starting with a supported platform and ending with a data handling review and a patching schedule. Each step closes with a check the team can run and record.

  1. Confirm hosting type and supported versions

    The platform owner confirms the hosting model before any configuration begins. The Mautic project advises against shared hosting and recommends a VPS or dedicated server. For Mautic 7.0, the requirements page lists PHP 8.2, 8.3, 8.4 or 8.5, MySQL 5.7 or higher with InnoDB, or MariaDB 10.2 or higher, plus Apache, Nginx or IIS. Check the Mautic releases page for the security support end date of the chosen release and compare it with your go-live and upgrade plans. Done when the server reports a supported PHP and database version, and the support window covers the planned operating period.

  2. Lock down the operating system and web server

    The systems administrator patches the operating system, removes packages the platform does not need, and restricts inbound access to the web ports and an administrative network path. The web server serves only the public Mautic web root over HTTPS, and directories outside it are not reachable by URL. Confirm that the server's TLS settings and certificate chain are current with your security standards. Done when an external port scan shows only the intended web ports open, and a request for a file outside the web root returns a denied or not found response.

  3. Set PHP and file permissions

    The platform engineer reviews the PHP configuration and file ownership for the Mautic deployment. Error display to visitors should be off, the PHP version banner should be hidden, and disabled functions should be reviewed against the Mautic documentation for the release in use. Application code should be owned by a deployment user and readable by the web user, with write access limited to the cache, log, media and temporary directories that Mautic needs. The configuration file should not be readable by other local accounts. Done when a test run as the web user can write only to the approved directories.

  4. Separate database and service accounts

    The database administrator creates a dedicated database account that holds privileges only on the Mautic schema, with no server-wide or administrative rights. Cron jobs and the messenger consumer run under a separate, non-login system user with only the file and database access they need. Migration and installation credentials are removed or disabled after setup. Confirm the cron schedule and queue worker settings against the Mautic cron documentation so no job runs as a privileged account. Done when logging in as the application database user and querying another schema fails, and the cron and queue processes show the expected non-administrative user.

  5. Restrict the admin path and protect public endpoints

    The security engineer limits access to the Mautic administrative login and back-end paths to known networks, a VPN or an identity-aware proxy, as your access model allows. Tracking and form endpoints must remain reachable by visitors, so protection focuses on rate limiting, request size limits and web application firewall rules that match the expected traffic patterns. Test each rule in a staging environment first, since blocking tracking requests silently reduces campaign data. Done when a login attempt from outside the approved network is refused, and a test tracking request and a test form submission still complete from a public address.

  6. Configure roles and login policy

    The Mautic administrator defines user roles around specific duties, such as campaign editing, contact management and reporting, and grants no role more permissions than the job requires. Accounts for former staff are disabled, shared logins are removed, and password rules follow your identity policy. Mautic uses basic authentication for its users, and it can integrate with a SAML single sign-on provider that must send email, first name and last name attributes. The docs describe no LDAP option, so confirm this with your identity team before design. Done when a test account with a restricted role cannot open system configuration or plugin settings, and a role export matches the approved access matrix.

  7. Store API and CRM credentials outside the web root

    The platform engineer moves API keys, CRM integration secrets and mail service credentials out of the web root and out of version control. Values are stored in environment variables or a protected configuration file that the web user can read but no one can browse to. Each credential is scoped to the minimum permissions the HubSpot, Salesforce or other integration needs, and a rotation owner is named. Done when a search of the web root finds no credential strings, a direct browser request for the configuration file returns a denied or not found response, and the rotation owner has confirmed a documented procedure.

  8. Review consent, personal data and patching schedule

    The privacy lead and the Mautic administrator review how contact data, consent records and opt-in evidence are collected, stored, exported and deleted, using the controls your data protection obligations require. The review also records who receives backups, how long logs are kept and which regions hold the data. Finally, the operations owner schedules operating system, PHP, Mautic and plugin updates, and checks each release against the Mautic release cadence and support dates. Done when the signed review record exists, and a patching calendar with named owners is in place and tested once against staging.

What makes Mautic security hardening take longer

This table lists the factors that change how much work a Mautic hardening engagement involves, why each one matters, and how to keep its effort down. Use it to see which drivers apply to your install before asking for a quote, because the quote should follow from a written scope.

DriverWhy it changes effortHow to keep it down
Number of environmentsProduction, staging and development each need the same server, PHP, database and cron checks, and staging often holds copies of real contact data that also need protection.Agree which environments are in scope, limit non-production copies to masked or synthetic data, and build one hardening baseline that all environments share.
Integrations holding credentialsEach email sending service, HubSpot or Salesforce connection and SAML provider stores or uses credentials that must be inventoried, scoped and rotated.List every integration with its account owner and required permissions before work starts, and use least-privilege API users wherever the plugin allows it.
Custom plugins or themesCustom code runs with the same privileges as the core application and must be reviewed for input handling, file access and outdated dependencies.Confirm the inventory of custom code and its version history, and remove unused plugins or themes before the review starts.
Hosting model and network controlsA self-managed VPS, a dedicated server or a cloud deployment each have different firewall, load balancer, TLS and access paths to configure and verify.Document existing network rules, reverse proxy settings and admin access paths so the review can confirm rather than redesign them.
Volume of personal data and consent recordsReviewing how contact fields, consent history, tracking data and deletion requests are stored and exposed takes longer as the database grows and as more data types are involved.Provide a field list and data retention expectations up front, and sample the consent and deletion workflows rather than reviewing every record.
Audit and internal control evidenceAssessors or internal control owners may require configuration records, access reviews, patch logs and test results in a specific format, which adds documentation work.Agree the evidence list and format in writing at scoping, and identify which controls already produce logs or reports in your environment.
Existing Mautic version and patch levelOlder releases may need upgrades before hardening settings can be applied, and the supported-version dates set the urgency of that work.Confirm the current Mautic version and PHP version against the project's published support dates before scoping, so upgrade work is planned separately if needed.

Admin access, API credentials and personal data controls in Mautic

Mautic holds admin accounts, API and mailer credentials, and contact records with consent evidence, so each of these needs its own control. The cards below cover the items a hardening review should configure, test and record, and what the team should confirm in its own install.

User accounts and least-privilege roles

Mautic users are created locally with basic authentication, and each one carries a role that sets what it can see and change. Review every account against the job it performs, remove accounts for former staff and agencies, and keep the number of full administrators small. Confirm the permission set of each role in your Mautic version, since role options and their labels can change between releases.

Password and session policy

Basic authentication is the login method for Mautic users, so the password rules, lockout behavior and session lifetime are controls your team must set and test. Check what password strength and lockout options your Mautic version provides, and where it does not provide them, record a compensating control such as a reverse proxy rule or an identity layer. Confirm session timeouts after a logout and after a long idle period.

SAML certificate hygiene

Where Mautic is connected to a SAML identity provider, the signing and encryption certificates become a security dependency. Track who owns each certificate, its expiry date and the process for replacing it before it lapses. Keep the identity provider's metadata and the Mautic settings aligned after any change. Detailed SSO setup steps are covered in the Mautic SSO topic.

API keys and mailer secrets storage

API credentials for Mautic's API, integrations and the mailer transport are high-value secrets that sit in configuration. Keep them out of version control and shared documents, limit each key to the integration that uses it, and rotate them on a schedule and after staff changes. Confirm where your install stores them, who can read the configuration file, and how a key is revoked.

Protection of the install and config files

The local configuration file holds database and mailer credentials, and the install directory should not be writable by the web server beyond what Mautic needs. Confirm that configuration and cache paths are not served directly by the web server, that installer and debug routes are disabled on production, and that file permissions match the deployment model. Recheck these after every upgrade, because a new release can change the expected layout.

Contact records and consent evidence

Contact records hold personal data, and consent evidence shows whether each contact agreed to receive marketing. Define which fields are required, which are sensitive, and how long records and consent history are kept. Confirm that opt-outs, deletions and data subject requests reach every connected system, including segments, campaigns and CRM integrations, and that the consent evidence can be exported for review.

Logging of administrative actions

Administrative changes such as user creation, role changes, plugin installation and configuration edits should leave a record that can be reviewed. Confirm which of these events Mautic writes to its audit or log output in your version, where the logs are stored, who can read them and how long they are kept. Forward the logs to a location the Mautic administrators cannot edit, and test that an alert fires for a role change.

How to confirm Mautic security hardening holds

A hardening baseline only has value if someone checks it after every change, so the first step is a configuration review against the written baseline. The reviewer compares the live web server, PHP settings, Mautic configuration and file permissions with what the baseline says they should be. Typical gaps include debug output left on, directory listings enabled, or an installer or setup path still reachable after go-live. Ask DeployOpen or your own team to record the evidence for each item, such as the command output or the configuration file excerpt, so that the next review can repeat the same checks.

Next, the reviewer tests reachability from outside the network. From an unauthenticated position, confirm that the admin login path is only available where your access policy allows it, for example through a restricted network range or a VPN. Then request the unused routes that the baseline disables, such as installer, debug or test paths, and confirm each returns a refusal rather than content. Sensitive files need the same treatment: configuration files, environment files, backups, dependency manifests, logs and version control folders should all be unreachable through the web root. Check the web server rules and the document root layout, because a file that exists on disk can still be served if the rules are wrong.

Access control is tested with real accounts, not just with the admin screen. Create or use a test account with the lowest role you intend to grant, and confirm it cannot reach administrative pages, user management, plugin settings, or API credential screens. Repeat with an unauthenticated session and with an account whose role has been removed or disabled. The expected result is a refusal in every case. Also confirm that role changes take effect immediately, since a session that keeps old permissions after a demotion is a common finding. Record which roles were tested and why, so the list can be reused after upgrades.

Background processes need their own check. Mautic relies on cron jobs for segment updates, campaign updates and campaign triggers, plus a broadcasts command and a messenger consumer when email is queued. Confirm from the process list and the scheduler configuration that these run under dedicated, non-administrative accounts with only the file and database access they need, and that the web server user cannot modify their scripts. Then confirm that credentials are absent from anything a browser or unauthorized user could read: web-accessible files, log files, cron output emails, and error pages. Search the logs for database passwords, API keys and SAML material after a deliberate failed login and a failed integration call. A failure should produce a generic message and a log entry that identifies the event without the secret or the personal data involved.

Confirm the scope before scheduling any of this. The configuration review, reachability checks and log review described here are hardening verification. Testing the application and its APIs for flaws such as broken access control, injection or insecure endpoints is a separate security testing engagement, which DeployOpen can scope and deliver on its own terms. Agree in writing which of these activities are covered, what evidence you will receive, and how findings will be retested after fixes, so that the hardening result is measured against a defined test plan.

Mautic security hardening on single servers, clustered and isolated networks

On one host, the web server, PHP, cron and the database share one operating system and one trust boundary. That simplicity is also the main risk: a compromise of the web tier can reach database files, scheduled job credentials and the application environment. Hardening on a single node focuses on separating accounts and limiting what each process can reach.

  • Cron account: run Mautic's scheduled commands under a dedicated non-login system user, separate from the web server user.
  • Database access: grant the Mautic database user privileges on its own schema only, and bind the database service to the local interface so it is not reachable from other networks.
  • Secrets: keep the configuration file holding credentials readable only by the PHP and cron account, and keep it outside the web root.
  • Outbound mail and CRM: limit outbound connections to the SMTP relay and the CRM API hosts you actually use, enforced by host firewall rules.

After each upgrade, confirm that the web user cannot read the cron user's crontab or the secrets file, and that the database port is closed to every network except localhost.

What to monitor, patch and document after Mautic security hardening

Hardening is not a one-time project. Once the server, PHP settings, admin roles and endpoint protections are in place, the team needs a recurring routine that keeps the install on a supported release and shows, at any point, what was changed and why. The starting point is the Mautic releases page, which states the project's cadence: monthly patch releases, minor releases every three months and major releases every two years. Someone on the team should own a monthly check against that page, so a security patch does not sit unapplied because nobody was watching.

Release numbers alone do not tell you how long you are covered. For the version in use, confirm the security support end date on the releases page and write it into the hardening baseline. At the time of this page, the supplied releases information lists Mautic 7.2 with security support until 30 September 2026, Mautic 6.0 until 30 September 2026, Mautic 5.2 until 30 June 2026, and Mautic 7.3 as the planned long-term support release with security support through 31 December 2027. Those dates should be re-checked on the releases page before any planning decision, because they change. Review PHP support in the same pass. Each Mautic release lists the PHP versions it supports, so a PHP upgrade on the server can break compatibility if it moves outside that range.

Monitoring should cover the signals that show someone is probing or misusing the install. Review failed logins, changes to user permissions and roles, and new or altered admin accounts. Track cron job failures as well, because segment updates, campaign triggers and broadcast sends depend on the scheduled commands, and a silent failure can mean suppression or consent logic is not running as designed. Decide who receives these alerts, how quickly they are reviewed, and where logs are retained. Confirm with your own hosting or logging platform which events are captured by default and which need configuration, since the supplied facts do not describe Mautic's log output in detail.

Credentials need a rotation schedule that the team sets and records. This covers API credentials used by integrations, webhook secrets, and the SMTP or email service credentials used for sending. Rotation is easiest when each credential has a named owner, a documented location and a test procedure that confirms the integration still works after the change. Rotate after staff changes or suspected exposure, not only on the calendar.

Back up both the configuration and the database, and test that a restore works. Record where backups are stored, how long they are kept, who can access them and how often a restore test is run. Keep the hardening baseline document up to date with each change: the configuration values, the roles granted, the endpoints exposed, the patch level, and the reason for each change. Attach change records so an auditor or new engineer can trace why a setting exists. Upgrade execution itself is covered on the Mautic upgrades and support page, so this section focuses on the recurring checks that tell you when an upgrade is due.

Questions buyers ask about Mautic security hardening

What drives the cost of Mautic security hardening?

Scope is the main driver. Cost follows the number of environments (production, staging and any test copies), the number of integrations that need review (email sending service, HubSpot or Salesforce connectors, SAML single sign-on), how the server was built and documented, and how much testing and evidence your assessor expects.

Your team pays for the time of the people who own hosting, DNS and the identity provider. A partner charges for the time of its engineers and testers. Most of the hardening work is one-time, while patching, log review and periodic re-checks recur.

Ask any quote to list each environment, each integration, the controls covered, the evidence delivered, who performs each task, which tasks remain with you, and what is excluded, such as a later major version upgrade.

How long does a Mautic hardening engagement usually take?

Duration depends on scope, environments and integrations, so no single figure applies to every install. A single production instance with a standard web server, a database and basic email sending is a smaller job than an install with a staging copy, custom plugins, SAML single sign-on and CRM connectors.

Schedule risk usually comes from waiting. DNS changes, identity provider configuration, credential rotation windows and change approvals often sit outside the hardening work itself. Testing also takes time, especially when cron jobs, the messenger consumer and tracking endpoints must keep working while controls tighten.

Ask for a timeline in the written scope with a dependency list that shows which steps need your people and which wait on an external party. Ask the partner to name the environments included and the assumptions that would change the schedule.

What access and decisions does a hardening project need from our team?

Hardening needs access and decisions, not only budget. Expect to provide access to the server, database and web stack, the ability to change DNS records for tracking and form domains, and settings on your identity provider if SAML is in use.

You also need the owners of credentials for the database, the email sending service, CRM connectors and any API keys. A named decision-maker should approve data handling rules, including retention periods, consent handling, how personal data is exported or deleted, and which logs are kept.

Change windows matter as well, because tightening server or PHP settings can affect campaigns and scheduled sends. Agree in writing who answers questions during the engagement and how quickly they respond. When these people are not available, the project waits, and waiting often extends the timeline more than the technical work does.

Can our internal team harden Mautic without an outside partner?

Yes, an internal team can harden a self-hosted Mautic install if it has a named owner who is accountable for the configuration and a patch routine that is actually followed. The work covers server and PHP settings, web server configuration, administrator accounts and roles, protection of tracking and form endpoints, API credential handling, consent records and patching.

Mautic publishes monthly patch releases, minor releases every three months and major releases every two years, so the owner needs a calendar and a test environment to apply them. Confirm that the version in use still receives security support before planning changes.

Engineers new to Mautic should read the requirements and cron job documentation first, since cron jobs and the messenger consumer shape how sends behave after changes. An outside partner adds value when you need independent testing, a documented baseline or evidence prepared for an assessor.

Does hardening Mautic make our installation compliant?

No. Hardening does not make an installation compliant with any framework or regulation. It applies technical controls and produces evidence that an independent auditor or certification body can assess. Compliance also depends on your policies, how staff follow procedures, your data processing agreements and the assessment itself, which only an independent assessor can issue.

DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications.

Before starting, identify which frameworks and contractual obligations apply to the marketing data held in Mautic, and ask your assessor which evidence they expect. Typical evidence includes a configuration baseline, access review records, patch history and documented consent handling. Confirm with your assessor and legal team which requirements apply to your organization.

How often does Mautic hardening need to be repeated?

Some hardening tasks are one-time, such as the initial baseline, removal of default settings and the first credential rotation. Others recur and should be scheduled.

Recurring tasks include:

  • Applying Mautic's monthly patch releases and reviewing minor and major release notes as they arrive
  • Reviewing administrator accounts and roles on a regular cycle
  • Checking logs and rotating credentials when people or integrations change
  • Retesting endpoints after any server, PHP or plugin change

A major version upgrade or a move to a new PHP version reopens parts of the baseline, because configuration and plugin behavior can change. Set the cadence in writing with a named owner, and confirm the intervals with your security and compliance leads. Retainers for ongoing support, upgrades and continuous testing are available from DeployOpen if you prefer to outsource the recurring checks.

What should a fixed-scope Mautic hardening quote include?

A fixed-scope quote should state what is in scope and what is not, before work starts. DeployOpen agrees scope, deliverables and timelines in writing for most engagements, so a quote should reflect the same level of detail.

Look for these items:

  • The environments covered and the version of Mautic in scope
  • The server, PHP and web configuration areas reviewed and changed
  • Administrator, role and endpoint protection work
  • API credential and consent or personal data handling review
  • The patching approach and who applies patches afterward
  • Evidence delivered, such as a baseline and change records
  • Responsibilities split between your team and the partner
  • Exclusions, assumptions and timeline dependencies
  • Acceptance criteria and support after handover

If a quote does not name these items, ask for them before comparing prices.

How DeployOpen approaches Mautic security hardening

DeployOpen works on Mautic security hardening as a fixed-scope engagement inside your own infrastructure, so the server, database, mail path and access model stay under your control. Each stage ends with written deliverables your team can review, test and keep after the engagement closes.

How we scope

  • Confirm the Mautic version, PHP version and web server in use, and which release line receives security support.
  • Map the hosting model, including whether Mautic runs on a VPS or dedicated server rather than shared hosting.
  • Agree in writing which tracking, form and API endpoints are in scope, and which admin roles and users are reviewed.

How we build

  • Harden the web server and PHP configuration, and review file permissions, exposed paths and the Mautic install directory.
  • Restrict admin access through role review, account clean-up and, where your identity provider supports it, SAML single sign-on.
  • Review API credentials, consent and personal data handling settings, and cron and queue processes so they run with least privilege.

How we hand over

  • Provide a written hardening baseline listing each setting changed, its reason and how to verify it on your own servers.
  • Deliver a patching runbook that explains how to apply monthly patch releases and plan minor and major upgrades.
  • Walk your administrators and security staff through the configuration, access model and evidence you can retain for review.

How we support

  • Support after handover can be provided as a retainer covering monitoring of security advisories and patch application.
  • Retainers can include periodic configuration reviews as agreed in writing, with the scope and frequency stated before work starts.
  • Ask for a quote built from the written scope, including which items recur and which are one-time work.

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.