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.")

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.

datamasking.xlsxsample data
B2fx=VERVE("datamasking", A2, "masked")
A
B
C
D
E
1
Text
Masked
Email
Phone
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 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.

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.")
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.")

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.

  • Data.masked
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.masked")
  • Data.detected
    =VERVE("datamasking", "Contact John Doe at [email protected] or call 555-123-4567. His SSN is 123-45-6789.", "field", "data.detected")
  • 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.email")
  • 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.phone")
  • 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.ssn")
  • 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.credit_card")
  • 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.ip_address")
  • 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.url")
  • Data.detected.date
    =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

Mask Sensitive Data, answered

Everything you need to wire it into a sheet.

How do I pull Mask Sensitive Data into a spreadsheet?
Install the VerveSheets add-on, sign in with your key, and type =VERVE("datamasking", "Contact John at [email protected] or call 555-123-4567") into any cell. The same function works in Google Sheets and Excel — no scripts, no API wiring.
How many credits does each Mask Sensitive Data cell cost?
Each resolved cell costs 1 credit. Filling a column of ten rows costs ten times that; a cell only re-bills when it actually refreshes, so a static sheet doesn't keep charging.
Can I fill a whole column at once?
Yes. Reference a range instead of a single cell — e.g. point Mask Sensitive Data at A2:A50 — and it returns a value for every row in one call, or just drag =VERVE("datamasking", "Contact John at [email protected] or call 555-123-4567") down like any spreadsheet function.
Does Mask Sensitive Data work in Excel as well as Google Sheets?
Yes. It's the same =VERVE() function with the same arguments and the same key in both — build a sheet in one and it behaves identically in the other.
How current is the data?
Mask Sensitive Data is served live from APIVerve's production data engine, and cells recalculate on the refresh cadence you choose — every open, hourly, or every 30 minutes.
Where does the data come from, and what shows on my bill?
VerveSheets runs on APIVerve, our production data engine; Mask Sensitive Data is one of 300+ sources on the same key. Invoices and card statements show APIVERVE.

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