# Anonymizer

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

## Overview

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

<figure><picture><source srcset="/files/GHQNi6pxp7n7RktXTLol" media="(prefers-color-scheme: dark)"><img src="/files/9MeQOsxxDIgKdsqDaybU" alt=""></picture><figcaption></figcaption></figure>

{% 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 ](/the-workspace/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](/the-workspace/listeners.md) and [Data sink](/the-workspace/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><mark style="color:red;"><strong>*</strong></mark></td><td>Select an input event field to anonymize.</td><td></td></tr><tr><td><strong>Anonymize Operation</strong><mark style="color:red;"><strong>*</strong></mark></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><mark style="color:red;"><strong>*</strong></mark></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><mark style="color:red;"><strong>*</strong></mark></td><td>We choose the required field with the IPs to be anoymized.</td></tr><tr><td><strong>Anonymize Operation</strong><mark style="color:red;"><strong>*</strong></mark></td><td>We need the <code>IP Anonymizer</code> operation.</td></tr><tr><td><strong>Salt</strong><mark style="color:red;"><strong>*</strong></mark></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 %}

This is how your data will be transformed:

<figure><img src="/files/UjVGY8nkXzDl2huRXj2V" alt=""><figcaption><p>Input data</p></figcaption></figure>

<figure><img src="/files/ygya8icmTGFdmL3CQiaR" alt=""><figcaption><p>Output data</p></figcaption></figure>


---

# 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://docs.onum.com/the-workspace/pipelines/actions/advanced/anonymizer.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.
