# The Security Module

The Security Module is an optional add-on to your subscription comprised of a collection of features and reporting options available to Form.io users. If you're seeking more robust security capabilities in your deployed environment such as audit logging, data encryption, and container scanning, this package is perfect for you.&#x20;

{% hint style="info" %}
Contact <sales@form.io> for more information about the Security Module
{% endhint %}

Below are the features and details included in the Security Module. **Follow the links** for more information:

### [Advanced Audit Logging](https://help.form.io/developers/audit-logging)

Server logs for more information on who, what, & when things occurred.

{% hint style="info" %}
Learn more here: <https://help.form.io/developers/audit-logging>
{% endhint %}

### [Action Logs](https://help.form.io/userguide/forms/form-building/actions#action-logs)

Logs for more information on who, what, & when things occurred as it pertains to Form Actions.&#x20;

{% hint style="info" %}
Learn more here: <https://help.form.io/userguide/form-building/actions#action-logs>
{% endhint %}

### [Form Revisions](https://help.form.io/userguide/forms/form-revisions)

Extend the capabilities of any project cycle by giving users the ability to evolve current forms while preserving the integrity of previous iterations.

{% hint style="info" %}
Learn more here: <https://help.form.io/userguide/forms/form-revisions>
{% endhint %}

### [Submission Revision Logs](https://help.form.io/userguide/submissions#submission-revisions)

Track changes to Submission Data and output a PDF audit log document of record for changes made to submission data.

{% hint style="info" %}
Learn more here: <https://help.form.io/userguide/submissions#submission-revisions>
{% endhint %}

### [Submission Collections](https://help.form.io/userguide/submissions#submission-collection)

Enables the storage of submission data within a separate database collection, which ensures data separation between collections.

{% hint style="info" %}
Learn more here: <https://help.form.io/userguide/submissions#submission-collection>
{% endhint %}

### [Field Level Encryption](https://help.form.io/userguide/form-building/component-settings#encrypted)

Form.io ensures the security of sensitive data through a multi-layered approach to encryption. At the foundational level, Form.io runs on MongoDB, and when using MongoDB Atlas, encryption at rest and in transit is provided by default, using advanced encryption standards to ensure that all data is protected at multiple layers.\
\
Building on this foundation, Form.io adds an additional layer of security through its encrypted fields functionality. This process leverages the robust aes-256-cbc algorithm, a symmetric encryption method known for its high level of security.\
To perform the encryption and decryption, Form.io utilizes the OpenSSL library via Node.js. Leveraging OpenSSL allows Form.io to securely encrypt data before storing it and decrypt it when necessary, ensuring that sensitive information remains protected throughout its lifecycle. The use of aes-256-cbc ensures that data is encrypted with a 256-bit key, providing a strong defense against unauthorized access.

{% hint style="info" %}
Learn More here: <https://help.form.io/userguide/form-building/component-settings#encrypted>
{% endhint %}

### Container Security Scanning

Guaranteed Container scanning using [**Snyk**](https://snyk.io/what-is-snyk/).

####


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.form.io/developer-tool-ecosystem/the-security-module.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
