> For the complete documentation index, see [llms.txt](https://docs.onum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onum.com/pipelines/actions/advanced/anonymizer.md).

# Anonymizer

{% hint style="info" %}
See the changelog of this Action type [here](/actions-changelog/anonymizer.md).
{% endhint %}

## Overview

The **Anonymizer** Action modifies sensitive data to remove or mask personally identifiable information, ensuring privacy.

{% hint style="warning" %}
In order to configure this action, you must first link it to a Listener or another Action. Go to [Building a Pipeline ](/pipelines/building-a-pipeline.md)to learn how this works.
{% endhint %}

## Ports <a href="#ports" id="ports"></a>

These are the input and output ports of this Action:

<details>

<summary>Input ports</summary>

* **Default port** - All the events to be processed by this Action enter through this port.

</details>

<details>

<summary>Output ports</summary>

* **Default port** - Events are sent through this port if no error occurs while processing them.
* **Error port** - Events are sent through this port if an error occurs while processing them.

</details>

## Configuration

{% stepper %}
{% step %}
Find **Anonymizer** in the **Actions** tab (under the **Advanced** group) and drag it onto the canvas. Link it to the required [Listener](/listeners.md) and [Data sink](/pipelines/data-sinks.md).
{% endstep %}

{% step %}
To open the configuration, click the Action in the canvas and select **Configuration**.
{% endstep %}

{% step %}
Enter the required parameters:

<table><thead><tr><th width="227">Parameter</th><th>Description</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Field to anonymize</strong></td><td>Select an input event field to anonymize.</td><td></td></tr><tr><td><strong>Anonymize Operation</strong></td><td><ul><li><strong>Hash Anonymizer</strong> - Choose this operation to hash any type of data and make it anonymous.</li><li><strong>IP Anonymizer</strong> - Choose this operation if you want to encrypt IP addresses. Note that the input IP addresses must be in IPv4 format.</li></ul></td><td></td></tr><tr><td><strong>Salt</strong></td><td>A random value added to the data before it is hashed, typically used to enhance security. <strong>Note that the salt length must be 32 characters</strong>. Learn more about salt in cryptography <a href="https://en.wikipedia.org/wiki/Salt_(cryptography)">here</a>.</td><td></td></tr></tbody></table>
{% endstep %}

{% step %}
Click **Save** to complete.
{% endstep %}
{% endstepper %}

## Example

Let's say we have a list of IPs we wish to anonymize in one of our events fields. To do it:

{% stepper %}
{% step %}
Add the **Anonymizer** Action to your Pipeline and link it to your required Listener.
{% endstep %}

{% step %}
Now, double-click the **Anonymizer** Action to configure it. You need to set the following config:

<table><thead><tr><th width="225">Operation</th><th>Parameters</th></tr></thead><tbody><tr><td><strong>Field to anonymize</strong></td><td>We choose the required field with the IPs to be anonymized.</td></tr><tr><td><strong>Anonymize Operation</strong></td><td>We need the <code>IP Anonymizer</code> operation.</td></tr><tr><td><strong>Salt</strong></td><td>We're adding the following salt value to make decryption more difficult: <code>D;%yL9TS:5PalS/du874jsb3@o09'?j5</code></td></tr></tbody></table>
{% endstep %}

{% step %}
Now link the *Default* output port of the Action to the input port of your Data sink.
{% endstep %}

{% step %}
Finally, click **Publish** and choose which clusters you want to publish the Pipeline in.
{% endstep %}

{% step %}
Click **Test pipeline** at the top of the area and choose a specific number of events to test if your data is transformed properly. Click **Debug** to proceed.
{% endstep %}
{% endstepper %}
