How does CiviCRM keep our data secure? Is the program web-based? Or is it desktop based? I am interested in downloading and trying CiviCRM for our organization but can't find an information on security features.

Thank you.

3 Answers 3


CiviCRM does not do anything special to either keep your data secure or insecure. It stores data in a MySQL database like lots of other applications.

The security is more in the way you configure your database server and the way CiviCRM (which is a web application and not a desktop application) can be accessed from outside.

A little more information in the configuration we tend to advise as the most secure (but also as usual most cumbersome and expensive) can be found in this CiviCon session by my community mate Björn Endres: https://www.youtube.com/watch?v=JKNR0bDjB9k

  • 3
    A small point would also be that CIviCRM follows reasonable security precautions, such as NOT storing credit card information in the database, or passwords in plain text. I think it's also worth saying that at this point, you should only install CiviCRM with https.
    – Alan Dixon
    Commented Jun 20, 2017 at 17:19

CiviCRM is a web-based tool and has no desktop component. It is thus as secure the server which hosts it, be that a local one or a remote one.

There are occasionally security flaws found in the software, just like any other package. The CiviCRM team then fixes those and releases new versions.

You can find more information about CiviCRM security here:



Speaking in a personal capacity.

I have previously found multiple SQL injection issues in Civicrm which allowed any authenticated user to download the whole database of civicrm irrespective of the permissions. These were fixed and are publicly documented.

I re-examined the current 4.x recently and found no SQL injection issues. But the code has no systematic protection against such issues, unlike WordPress which provides its own database interface which is robust. So we are one developer error from reintroducing the same.

The code base appears to have multiple stored XSS issues. These would allow a malicious user to insert JavaScript which would allow a user allowed to manage events say to escalate their permissions to full administrator. Again there is no effective systematic defence to XSS built-in.

The product will try to create a separate database when installed into a WordPress site, which will typically keep the data safe from a SQL injection issue in the WordPress site.

XSS issues in WordPress plugins are common, and the escalation from XSS to controlling PHP on WordPress (when the Civicrm data could be compromised) is well documented. Attack tools like BeEF offer it as a point and click feature. This is not a Civicrm issue but a result of running such a service within a WordPress site.

I suspect similar comments apply to Drupal but I haven’t tested it there.

Not being familiar with the alternatives, and with a lot more to learn about Civicrm, I would advise organisations deploying Civicrm to consult a web applications security expert.

The issues described can be mitigated to an extent (CSP, mod-security etc), but certainly in Europe you face potentially large fines for leaking personal data, and keeping that data in public web applications with a history of issues could present problems. Especially if your organisation might reasonably be a target of focused attacks or is at all controversial.

  • Since this answer was posted a number of these points have been addressed in CiviCRM 5. New features in are being built with Angular (which defends against XSS) and APIv4 (which systematically protects against SQL injection).
    – Coleman
    Commented Mar 30, 2021 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.