Interactive prototype · synthetic sessions

Protect identity.
Preserve meaning.

Transform sensitive mental health conversations into data for AI training and evaluation—while preserving the context that matters.

S1 · synthetic session

ClientYeah. My dad died suddenly about a year ago. He was helping someone else get to safety. It got a lot of public attention, and people called him a hero.

Re-identification 62% → 12%
0real patient records
3stress-test sessions
8/8Safe Harbor categories passed
92%clinical facts kept

The problem

Masking misses what identifies and breaks what matters.

What masking misses

Original

Yeah. My dad, Ernesto, died in the Moore tornado on May 20, 2025. He was helping a neighbor get into their storm shelter. It was on the news, they called him a hero on KOCO.

Identifiable
Stage 1 · Masking

Yeah. My dad, <PERSON>, died in the Moore tornado on <DATE_TIME>. He was helping a neighbor get into their storm shelter. It was on the news, they called him a hero on KOCO.

Still searchable
Stage 2 · Rewrite

Yeah. My dad died suddenly about a year ago. He was helping someone else get to safety. It got a lot of public attention, and people called him a hero.

Rewritten

What masking breaks

Original

Your PHQ-9 today came out at 17, which is in the moderately severe range. I'd like us to make a safety plan together and talk with Dr. Okafor about the sleep.

Identifiable
Stage 1 · Masking

Your PHQ-9 <DATE_TIME> came out at <DATE_TIME>, which is in the moderately severe range. I'd like us to make a safety plan together and talk with Dr. <PERSON> about the sleep.

Score lost
Stage 2 · Rewrite

Your PHQ-9 today came out at 17, which is in the moderately severe range. I'd like us to make a safety plan together and talk with the prescribing doctor about the sleep.

Score kept

How it works

Two stages, then a hard test.

Stage 1 · Masking

Catch the obvious

Pattern rules replace names, numbers, and dates with tags.

Stage 2 · Rewrite

Fix what masking can't

A de-identification sheet, written once with full context, guides a rewrite eight turns at a time.

Evaluate

Score every claim

Safe Harbor, mosaic clues, clinical facts, and quality, each scored separately.

Lineup

Try to find the client

Can a model pick the client out of 10 profiles? Chance is 10%.

“We never call a dataset anonymous.”

Results

Three hard sessions, measured.

S1

Night-shift ER charge nurse

Re-identification · chance 10%

Original62%
Stage 190%
Stage 212%

Clinical facts kept

Original95%
Stage 181%
Stage 295%

Safe Harbor

Original 1/8Stage 1 2/8Stage 2 8/8
S2

16-year-old high school wrestler

Re-identification · chance 10%

Original90%
Stage 157%
Stage 211%

Clinical facts kept

Original94%
Stage 194%
Stage 293%

Safe Harbor

Original 0/8Stage 1 2/8Stage 2 8/8
S3

93-year-old veteran

Re-identification · chance 10%

Original96%
Stage 192%
Stage 231%

Clinical facts kept

Original90%
Stage 186%
Stage 289%

Safe Harbor

Original 1/8Stage 1 2/8Stage 2 8/8

The product

What a buyer receives.

  • Rewritten sessionsConsistent surrogates. Scores, doses, and risk statements kept exact.
  • Retained attributesSex, age band, occupation category, living situation.
  • Clinical factsWhat each session can evaluate.
  • VerificationSafe Harbor, mosaic exposure, lineup, rule checks, quality.
Never included: originals, identifiers, the lineup answer key, audio.
into-the-unknown-S1.json
{
  "sample_id": "S1",
  "synthetic": true,
  "legal_basis": "synthetic",
  "pipeline": {
    "stage_1": "masking",
    "stage_2": "rewrite from de-identification sheet",
    "evaluation": "rules, probability judgments, persona lineup"
  },
  "retained_attributes": {
    "sex": "Female",
    "age_band": "30-39",
    "state": "withheld",
    "occupation_category": "Healthcare professional (nursing, hospital-based, night shift)",
    "living_situation": "Lives alone"
  },
  "messages": [
    {
      "turn_id": "t1",
      "speaker": "therapist",
      "text": "Thanks for coming in today. Before we start, can you confirm your date of birth for the chart?"
    },
    {
      "turn_id": "t2",
      "speaker": "client",
      "text": "Sure, I'll give it to the front desk again. And I have a new cell number if they need it."
    },
    {
      "turn_id": "t3",
      "speaker": "therapist",
      "text": "Got it. And the email on file, is that still right?"
    },
    {
      "turn_id": "t4",
      "speaker": "client",
      "text": "Yeah, it's the same one. Oh, and billing asked me for my social again, but I already gave it to them at intake."
    },
    {
      "turn_id": "t5",
      "speaker": "therapist",
      "text": "Okay. Last time we talked about the night shifts. How has this past week been?"
    },
    {
      "turn_id": "t6",
      "speaker": "client",
      "text": "Honestly bad. I work nights as a nurse at the hospital, and I'm often carrying heavy responsibility with short staffing. Earlier this week, colleagues were absent and I covered the unit mostly alone."
    },
    {
      "turn_id": "t7",
      "speaker": "therapist",
      "text": "That sounds exhausting. What happened in your body during that shift?"
    },
    {
      "turn_id": "t8",
      "speaker": "client",
      "text": "In the early morning hours my chest got tight, my hands went numb, I thought I was having a heart attack. That's the third panic attack this month."
    },
    {
      "turn_id": "t9",
      "speaker": "therapist",
      "text": "How are you sleeping between shifts?"
    },
    {
      "turn_id": "t10",
      "speaker": "client",
      "text": "Maybe four hours. I live alone now, and the noise near my place wakes me up constantly."
    },
    {
      "turn_id": "t11",
      "speaker": "therapist",
      "text": "You mentioned last session that the anniversary of your father's death was coming up."
    },
    {
      "turn_id": "t12",
      "speaker": "client",
      "text": "Yeah. My dad died suddenly about a year ago. He was helping someone else get to safety. It got a lot of public attention, and people called him a hero."
    },
    {
      "turn_id": "t13",
      "speaker": "therapist",
      "text": "That's a heavy loss, and a public one. How are you coping with it right now?"
    },
    {
      "turn_id": "t14",
      "speaker": "client",
      "text": "Mostly wine. Like four glasses most nights, sometimes the whole bottle on my days off."
    },
    {
      "turn_id": "t15",
      "speaker": "therapist",
      "text": "I want to ask directly, because it matters. Have you had any thoughts of not wanting to be alive?"
    },
    {
      "turn_id": "t16",
      "speaker": "client",
      "text": "Sometimes I wish I just wouldn't wake up. I don't have a plan or anything. I wouldn't do that to my brother Sam, he already lost dad."
    },
    {
      "turn_id": "t17",
      "speaker": "therapist",
      "text": "Thank you for telling me. Do you have access to anything at home you might use to hurt yourself?"
    },
    {
      "turn_id": "t18",
      "speaker": "client",
      "text": "No guns. I do have meds from work, like I could get them easily, but I haven't thought about it like that."
    },
    {
      "turn_id": "t19",
      "speaker": "therapist",
      "text": "Your PHQ-9 today came out at 17, which is in the moderately severe range. I'd like us to make a safety plan together and talk with the prescribing doctor about the sleep."
    },
    {
      "turn_id": "t20",
      "speaker": "client",
      "text": "Okay. The prescribing doctor at the clinic? I can get my record number if you need it. My next shift is later this week, can we meet in the middle of the week?"
    },
    {
      "turn_id": "t21",
      "speaker": "therapist",
      "text": "That works. Call 988 or come to the ER if those thoughts get stronger before then."
    }
  ],
  "clinical_facts": [
    {
      "id": "C1",
      "fact": "recurrent panic attacks (about three this month) with chest tightness and numbness",
      "retention_probability": 0.97
    },
    {
      "id": "C2",
      "fact": "insomnia, about four hours of sleep",
      "retention_probability": 0.97
    },
    {
      "id": "C3",
      "fact": "heavy alcohol use, about four glasses of wine most nights, more on days off",
      "retention_probability": 0.96
    },
    {
      "id": "C4",
      "fact": "passive suicidal ideation without a plan, protective factor is a sibling",
      "retention_probability": 0.95
    },
    {
      "id": "C5",
      "fact": "access to medications through work (means access risk)",
      "retention_probability": 0.95
    },
    {
      "id": "C6",
      "fact": "PHQ-9 score of 17 (moderately severe)",
      "retention_probability": 0.97
    },
    {
      "id": "C7",
      "fact": "traumatic bereavement of father around an upcoming anniversary",
      "retention_probability": 0.9
    },
    {
      "id": "C8",
      "fact": "occupational stress from night shift healthcare work",
      "retention_probability": 0.97
    }
  ],
  "verification": {
    "safe_harbor": [
      {
        "category": "A",
        "status": "pass",
        "llm_probability": null
      },
      {
        "category": "B",
        "status": "pass",
        "llm_probability": 0.08
      },
      {
        "category": "C",
        "status": "pass",
        "llm_probability": 0.15
      },
      {
        "category": "D-F",
        "status": "pass",
        "llm_probability": 0.08
      },
      {
        "category": "G",
        "status": "pass",
        "llm_probability": 0.08
      },
      {
        "category": "H-K",
        "status": "pass",
        "llm_probability": 0.08
      },
      {
        "category": "N-O",
        "status": "pass",
        "llm_probability": null
      },
      {
        "category": "R",
        "status": "pass",
        "llm_probability": 0.27
      }
    ],
    "direct_identifiers_left": 0,
    "mosaic_exposure": 0.07,
    "lineup_reidentification": {
      "probability": 0.123,
      "chance": 0.1,
      "decoys": "demographically matched"
    },
    "rule_checks": {
      "risk_terms_kept": {
        "suicidal ideation": true,
        "self-harm": true,
        "firearm": true,
        "medication access": true,
        "alcohol": true,
        "crisis line": true
      },
      "scores_and_doses_kept": {
        "PHQ-9 17": true
      },
      "tags_left": 0,
      "turn_structure_kept": true
    },
    "quality": {
      "natural_conversation": 0.75,
      "clinical_facts_added": 0.2,
      "risk_changed": 0.04
    }
  }
}

Built for the U.S. path

Designed around how health data can actually move.

Core design choice

Expert Determination, not just Safe Harbor

Safe Harbor strips the context evaluations need. Expert Determination lets a qualified expert approve richer data for a defined recipient, and Into the Unknown's sheet, checks, and lineup results are the evidence that expert works from.

Sourcing

Two paths, both de-identified

  • Existing records, licensed after Expert Determination
  • New sessions, collected with written authorization
Excluded

High-risk categories stay out

  • Minors
  • Psychotherapy notes
  • 42 CFR Part 2 records
  • Audio and voiceprints
Provenance

Evidence on every record

  • Legal basis and source state
  • Consent or determination ID
  • Reviewer sign-off
Buyer license

Guardrails downstream

  • No re-identification or linkage
  • Equal terms downstream (CA AB 713)
  • No transfer to countries of concern

Roadmap

From prototype to a trusted supply.

Now

Prototype

  • Two-stage pipeline
  • Evaluation and lineup
  • 3 synthetic sessions
Next

Validate

  • Calibrate against human raters
  • Buyer and provider interviews
Then

Pilot

  • One state, one provider
  • Expert Determination on real data
Later

Supply

  • Licensed evaluation datasets
  • Recurring supply

FAQ

Straight answers.

Is the output anonymous?

We don't use that word. We report what was checked and what remains. Release of real data is decided by a qualified expert under HIPAA Expert Determination.

Is the demo live?

Run pipeline calls our backend. By default it returns that pipeline's recorded output; with the pipeline configured on the server, it runs live. Sessions are synthetic: every person, number, and place is invented.

What do the percentages mean?

Model probability judgments under fixed test conditions. In the lineup, chance is 10%. They are evidence for review, not real-world rates.

Why rewrite instead of mask?

Masking removes strings. Risk lives in combinations of details, and value lives in exact clinical facts. Rewriting handles both.

Protect identity.
Preserve meaning.