Formulas for

Mask Sensitive Data

Text Processing1 credit/cellSheets · Excel
=VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "masked")

Redact PII by the row. 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.

datamasking.xlsxsample data
B2fx=VERVE("datamasking", A2, "field", "masked")
A
B
C
D
E
1
Text
Masked
Detected › Email
Detected › Phone
Detected › Ssn
2
Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.
Contact John Doe at [EMAIL] or call [PHONE…
1
1
1
3
4
click any cell to see its formula1 credit / cell

Clean a column of text

Fill =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "masked") beside messy text and get the normalized, analyzed, or translated version back — data cleaning without leaving the grid.

Analyze at scale

Score or classify a whole column of responses, reviews, or messages in one fill instead of one-by-one.

Compose with other formulas

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.

Google SheetsAdd-on

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.", "field", "masked")
Microsoft ExcelAdd-in

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.", "field", "masked")

Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.

  • typesPremium

    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.

  • Masked
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "masked")
  • Detected
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected")
  • Detected › Email
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected.email")
  • Detected › Phone
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected.phone")
  • Detected › Ssn
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected.ssn")
  • Detected › Credit card
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected.credit_card")
  • Detected › Ip address
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected.ip_address")
  • Detected › Url
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "detected.url")
  • Detected › Date
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "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

Mask Sensitive Data, answered

Everything you need to wire it into a sheet.

How do I pull Mask Sensitive Data into Google Sheets?
Install the VerveSheets add-on, sign in once with your key, and type =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "masked") into any cell. The "field" argument names the value you want back, so the cell resolves to a single number or string you can chart, sort, or feed into another formula.
What data can I pull from Mask Sensitive Data?
Mask Sensitive Data returns masked, detected, detected.email, detected.phone and detected.ssn, plus 4 more — name any one of them as the "field" argument and that value lands in the cell. Leave the field out and the whole record spills into a two-column table instead.
Can I narrow what Mask Sensitive Data returns?
Yes — Mask Sensitive Data takes "types" as optional inputs. They go in as "name", value pairs after the required ones, in any order, so =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""]") shapes the result without changing anything else.
Can I fill a whole column of Mask Sensitive Data at once?
Yes. Put your text values down a column and point the formula at the range — A2:A50 instead of A2 — and one call returns a value for every row. Dragging the formula down works too, but the range form is a single billed call per column rather than one per cell.
How many credits does each Mask Sensitive Data cell cost?
Each resolved cell costs 1 credit. A cell only re-bills when it actually refreshes, so a sheet you aren't touching doesn't keep charging.
Does Mask Sensitive Data work in Excel as well as Google Sheets?
Yes — same arguments, same key, same fields. Excel namespaces custom functions, so the call is =VERVE.CALL() there and =VERVE() in Google Sheets; nothing else about it changes.

Put Mask Sensitive Data in your next spreadsheet. Add the extension, paste the formula, and the cell keeps itself current.

Scaling up?

Volume pricing, custom SLAs, and dedicated support for high-traffic teams.

Contact sales