Redact PII by the row. =VERVE("datamasking", A2) masks emails, phones and card numbers in a cell — Sheets or Excel, no code.
It's one of 250+ live sources you reach with a single =VERVE() function — served from APIVerve's production data engine, billed at 1 credit per resolved cell, and refreshed on whatever cadence you set. No API keys to wrangle, no scripts, no exports.
A real example — the input you type, and the values you can pull from it. Click any cell to see the formula behind it.
Fill =VERVE("datamasking", "Contact John at [email protected] or call 555-123-4567") beside messy text and get the normalized, analyzed, or translated version back — data cleaning without leaving the grid.
Score or classify a whole column of responses, reviews, or messages in one fill instead of one-by-one.
Nest Mask Sensitive Data's output inside your existing SUM, IF, or CONCAT logic like any other cell value.
The same function works in both apps — install once, sign in with your key, and type it into any cell.
Install from the Workspace Marketplace, then drop the formula into a cell. Autocomplete suggests the source and its fields.
=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.")Same source, same arguments, same key — in Excel on desktop, the web, or mobile. Excel namespaces it as VERVE.CALL. Drag to fill a whole column.
=VERVE.CALL("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.")Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.
Array of data types to mask (default: all types)
=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "types", "["email","phone","ssn","credit_card","ip_address","url","date"]")Add a field name as the last argument to land just that value in the cell.
=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.masked")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.email")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.phone")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.ssn")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.credit_card")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.ip_address")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.url")=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected.date")Premium marks data included on paid plans. On the Free plan a marked field is withheld and a marked input is ignored — either way the cell reads #PREMIUM(name) instead of a value, so a gated answer can never be mistaken for a real one. Everything unmarked works on every plan. Compare plans
Everything you need to wire it into a sheet.