# Image Anonymization in Esri ArcGIS Online

### Introduction

This tutorial will guide you through the process of anonymizing personal information in your images stored in ArcGIS Online. We'll use a [Jupyter Notebook](https://github.com/celantur/celantur-arcgis-tools/tree/main/jupyter-notebook) to connect ArcGIS Online with the [Celantur Cloud API](https://doc.celantur.com/cloud-api/getting-started).

The Notebook will fetch the original image attachments which have not been anonymized yet, send them to Celantur Cloud API for anonymization, and save the anonymized images back to ArcGIS Online.

<figure><img src="https://1992407480-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fr2aH3h1rP4SjkhFlr7Mp%2Fuploads%2FVNIDMAwJNQBnhFC3qmft%2Fimage.png?alt=media&#x26;token=6e503d00-deac-4b8d-98d2-21037c7cbd36" alt=""><figcaption><p>Architecture of Celantur Cloud API and ArcGIS Online integration</p></figcaption></figure>

### Prerequisites

Before you begin, ensure you have the following:

* [ ] An Esri ArcGIS Online account with access to the Notebook service
* [ ] A Celantur account (app.celantur.com)
* [ ] Basic understanding of Python

### Steps

#### 1. Log in to ArcGIS Online

Log in to your ArcGIS Online account.

#### 2. Prepare Feature Layer in ArcGIS Online

1. On the ArcGIS page <https://celantur.maps.arcgis.com/home/content.html> click to `New Item` button and proceed with creation of `Feature Layer`.
2. Then open that new Item, and open `Data` tab and select `Fields` sub-tab
3. Click to `Add` button (only if this field does not yet exist)
   * `Field Name`: `is_anonymized`
   * `Display Name`: `Is anonymized`
   * `Type`: `integer`
   * `Default Value`: `0`
   * Click `Add New Field`

#### 3. Add Images

Add images as attachment to points via e.g. Field Maps app. Make sure the same Feature Service Layer is specified in the Notebook code.

#### 4. Add the Notebook

1. In ArcGIS online, create a new Notebook.&#x20;
2. Insert the Notebook content from <https://github.com/celantur/arcgis-jupyter-dev> into your newly created Notebook.

#### 5. Configure the Notebook

1. In the section of `! CREDENTIALS !` specify your credentials accordingly
2. Go to section `Main`
   * Adjust `layer_id` uid value to the corresponding layer you want to use.
   * Adjust params to your taste, see <https://doc.celantur.com/cloud-api/api-endpoints#create-anonymization-task>
3. Create directory `/arcgis/home/downloads`
4. Run the Notebook

#### 6. Check Anonymized Images

Verify that the personal information in your images has been successfully anonymized.

#### 7. Schedule the Notebook (optional)

Schedule the Notebook to be executed regularly.

{% hint style="warning" %}
Limitations:

The current Notebook code will process **all images** where `is_anonymized` equals `false`. Please consider the impact of the amount of images on the Notebook runtime.
{% endhint %}

### Conclusion

Congratulations! 🎉 You have successfully anonymized images in Esri ArcGIS Online using the provided Jupyter Notebook and Celantur Cloud API. Feel free to explore the code and customize it for your specific use case.

If you encounter any issues or have suggestions for improvement, please address your contact person at Celantur.
