Media (images, audio, video)

Blur faces and ID numbers in photos before storing

Blur faces and sensitive text such as ID and card numbers in uploaded photos with Redact Image, then store the redacted copy.

Field staff upload photos of documents and sites. Before the photos are kept, faces and ID numbers must be blurred.

You need a connection that can locate faces and read text with positions: Azure AI Vision, AWS or Google Gemini (see the capability matrix). OpenAI cannot return boxes.

1. Check what is found

Add Redact Image after the form trigger. Set Image to {{form.photo}} (for several photos, put the step inside a Loop over {{form.photos}} and use {{item}}). Choose Detect only, and under Find keep Faces and Sensitive text. Information types defaults to All high-confidence types; narrow it with Regions if you like.

Press Save & Test with a sample photo and look at findings in the step's output: each has a type (face, or an info type such as us_passport), a masked text, a confidence and a box.

2. Redact

Switch Action to Redact a copy and keep Style at Blur:

Blur faces and IDs
{
  "type": "media_redact_image",
  "label": "Blur faces and IDs",
  "config": {
    "integration_id": "<integration-id>",
    "source": "{{form.photo}}",
    "targets": ["faces", "text_pii"],
    "info_types": ["@high"],
    "style": "blur",
    "padding": 10
  }
}

The canvas shows faces, sensitive text · blur → redacted_image. The copy is {{redacted_image_file}}.

3. Store it

Use the file object like any form attachment:

  • keep {{redacted_image_file.url}} or {{redacted_image_file.storage_ref}} in a data table row with Update Data Table, or
  • attach it to an email, convert it with File to Base64 for an API, or upload it with a storage connector.

Branch on {{redacted_image_count}} to flag photos where nothing was found, if every photo is expected to contain an ID.

Tips

  • Add plates to Find for vehicle photos (needs a provider with object boxes).
  • Use Solid box instead of blur for documents you will print.
  • Have Analyze Image return faces first, then pass {{image_analysis.faces}} as Boxes with the target Boxes from earlier steps to reuse its boxes.