Skip to content
BlogSecurity

What Mesh removes before the AI writes your notes

Which numbers Mesh replaces in a transcript, how client names become placeholders, what is encrypted at rest, and where each protection stops.

4 min read

The path: From your meeting to the AI model

A meeting reaches Mesh as audio or as a transcript. Speech-to-text turns the audio into text first. From there, the text goes through two changes before the AI steps that write your summary, action items and compliance flags read it.

Mesh keeps the transcript in two forms. The full text is stored encrypted. A redacted copy, with sensitive numbers replaced, is the one those AI steps read. Before the AI runs, Mesh also swaps the full names it knows, and most first names, for placeholders. When the AI answers, Mesh puts the real names back and stores the summary encrypted.

Fig. 1 From the transcript to the summary
  1. In: Transcript (Full text encrypted)
  2. Redaction: Numbers out: Social Security, Tax ID, Account, Card, Routing
  3. Placeholders: Names (To PERSON_1, PERSON_2)
  4. AI model (Final check first)
  5. Stored: Summary (Names back, encrypted)
The path for the summary. Action items and compliance flags read the same redacted text, with the same placeholders.

Numbers: Five patterns Mesh replaces

Redaction looks for five kinds of numbers and replaces each one with a marker, such as [ACCOUNT_REDACTED]. It is pattern matching, with checks that cut false alarms: a card number must pass the Luhn test, and a routing number must pass the ABA checksum.

Fig. 2 The numbers Mesh replaces
The five number types Mesh redacts, how each is found, and its marker
NumberHow Mesh finds itMarker
Social Security numbersThree, two and four digits, with dashes. Ranges that are never issued are skipped.[SSN_REDACTED]
Tax IDsTwo digits, a dash and seven digits, with a valid prefix.[TIN_REDACTED]
Account numbers8 to 17 digits that come right after a word such as “account” or “acct,” as in “account number is.”[ACCOUNT_REDACTED]
Card numbers13 to 19 digits with a known card prefix that pass the Luhn test.[CREDIT_CARD_REDACTED]
ABA routing numbersNine digits with a valid prefix that pass the ABA checksum.[ROUTING_REDACTED]
Left in on purposeDollar amounts, percentages, years, dates, times and phone numbers.Not replaced
Mesh runs the same patterns when a transcript arrives, and again just before the AI steps that write your notes.

On those AI steps, the same check runs again just before Mesh sends the text to the model. If a pattern still matches, the call stops. It does not go out with the number in it.

Some numbers stay on purpose. A summary needs the amounts, the percentages and the dates. Leaving phone numbers alone keeps one from being mistaken for a Social Security number.

Names: Placeholders in, real names out

Names are not numbers, so redaction leaves them alone. A second step replaces them. Before the AI runs, Mesh lists the names it knows for that meeting: yours, the client’s, and those of the other participants and speakers. Each full name maps to one placeholder: PERSON_1, PERSON_2, and so on. For most two-part names, the first name maps to the same placeholder. A surname by itself does not.

That list lives in memory for one run and is never saved. When the AI answers, Mesh turns the placeholders back into real names before it stores anything, so your summary reads like a summary.

The text Mesh sends out to build your search index gets a stricter step: each full name Mesh knows becomes the same word, SPEAKER, with no way back. The search index that Mesh stores keeps the redacted text, with the real names in it.

Fig. 3 One exchange, as said and as the AI reads it
Three transcript lines before and after redaction and placeholders
As saidWhat the AI reads
Dana Whitaker: Robert, is the account number 40118823?PERSON_1: PERSON_2, is the account number [ACCOUNT_REDACTED]?
Robert Caldwell: No. It is 40118824.PERSON_2: No. It is 40118824.
Dana Whitaker: Then we move $40,000 in 2026.PERSON_1: Then we move $40,000 in 2026.
The output of Mesh’s own redaction and placeholder code, with the demo names. Placeholder numbers follow the order of the names in the list. The second line keeps its number, because no “account” comes right before it.

At rest: Encrypted field by field, with data keys for each workspace

Redaction protects what the AI reads. Field encryption protects what Mesh stores. Mesh encrypts named fields one at a time, before they reach the database, so a copy of the database on its own shows only ciphertext for those fields.

Fig. 4 What is encrypted, and with which keys
  1. AES-256Encrypted field by field
    Full transcripts, summaries, the text of compliance findings, client email addresses and phone numbers, most financial profile details, the text Mesh extracts from documents, and connection tokens are encrypted with AES-256, one field at a time, before they reach the database.
    Not every field. See the limits below.
  2. Per workspaceSeparate data keys per workspace
    Each workspace gets its own data keys, and AWS KMS binds each key to that workspace. One firm’s keys cannot open another firm’s records.
  3. USStored in US data centers
    Your data is stored in US data centers. Traffic to and from Mesh is encrypted with TLS 1.2 or higher.

Each data key is bound to your workspace in AWS KMS. KMS itself refuses to unwrap that key for a request that names a different workspace. Mesh holds the one KMS key that protects every data key, so your firm has no key to manage.

The limits: Where each protection stops

Every protection here has an edge. These are the ones to know.

  • Speech-to-text hears the whole call. Redaction works on text, so the services that record and transcribe a call receive the audio, numbers and names included.
  • Patterns miss some numbers. An account number counts only when a word like “account” comes right before it, as the second line of Fig. 3 shows. A number spelled out in words does not match at all.
  • One step reads the full transcript. To fill in a client’s date of birth and mailing address, a narrow AI step reads the full transcript, with numbers and names as said. It returns only those two fields, and Mesh stores both encrypted.
  • Placeholders cover full names and most first names that Mesh knows. A surname on its own, as in “Mr. Caldwell,” stays as said, and so does a name that comes up only in conversation. When two people share a first name, Mesh replaces only their full names.
  • Not every field is encrypted. Client names, meeting titles and times are stored as plain fields. So is the redacted copy of the transcript, including the pieces of it kept for search, with names and speaker labels as said. A few coarse profile values, such as risk tolerance, time horizon, income range and employment status, are plain fields. Uploaded files sit in private file storage, but Mesh does not encrypt them field by field, and their file names are plain fields.

Mesh does not train AI models on your data. To report a security issue, write to security@meshfp.com.