Step 1 of 3

Import & automated redaction

Paste or upload a donated chat transcript. The engine detects direct and contextual identifiers, replaces them with semantic tags such as [name-1] [relative's name-1] [friend's name-1] [date-1], and flags quasi-identifiers for your review. Raw text is held in memory only until you purge originals.

Source transcript

About "roughly when": most chatbots do not show precise timestamps in shared or pasted conversations, and an exact date would itself be a small identifier, so only a coarse period is recorded. Model and mode are free text for whatever the platform showed you, and blank is always fine. A main topic must be chosen.

Participant submissions encrypted packages from the participant edition

no key loaded
Submissions arrive already de-identified and reviewed by the donor; original strings were never transmitted, so they enter the repository in the locked, purged state with their donation labels attached.

Submissions inbox pull donations from the study endpoint

not signed in
Another kind of endpoint (advanced)
The project URL, bucket, and publishable key are not secret and are saved with this workspace; the publishable key is Supabase's public key, not the study public key used for encryption. Your password, and the session it opens, stay in memory only: they are never saved, exported, or written into the participant build. Decryption still requires the study private key above, because the endpoint holds ciphertext only.
Formats: plain text, markdown, Word (.docx), Excel (.xlsx, .xls), or CSV, converted to text entirely on this device. Speaker labels like "User:" are detected; in spreadsheets, a first column naming the speaker becomes the label. Unlabelled text is treated as a single user turn and flagged. Synthetic samples are fictional and marked synthetic specimen throughout the app.

Redaction preview nothing is saved until you confirm

Run redaction to preview the de-identified transcript and its redaction log here.

Tag vocabulary

Two tiers. Direct identifiers are redacted automatically. Quasi-identifiers (age, program, employer, exact amounts, health specifics) are flagged inline like this for a human decision, because blanket removal can destroy analytic content. Change tier behaviour under Protocol & audit.
Step 2 of 3

Human review

Automated redaction is assistive, never sufficient. Confirm or reject each machine decision, resolve flagged quasi-identifiers, and add anything the engine missed. A transcript enters analysis exports as verified only after it is marked reviewed.

De-identified transcript select text to redact it manually or save it as a quote

Detected identifiers one row per person or item; spellings of the same name are grouped under one tag

Spellings listed on a row (Raj, raj, rajy) all carry that row's tag. If two rows are really the same person, pick the other row in "same person as" and press Link; the tags merge. If a grouped spelling is a different person, press the small cross next to it. Links can be undone below the list.

Manual redaction

Step 3 of 3

Repository

The de-identified corpus. Everything below reflects redacted text only; originals, where retained, live in memory and local browser storage on this device until purged.

Participant withdrawal remove every transcript donated under one token

This removes transcripts from this workspace only. To record a withdrawal for the study, use Participants: it stops the token, deletes the participant's packages from the study storage, and prompts the other team members' workspaces. The token is remembered here as withdrawn, so a package that arrives later under it is skipped on import.
Study operations

Participants

The study's master file, kept in the Supabase database: one locker per participant, opened when they sign the online consent form, with their token, consent answers, token emails (followed to delivery), donations, compensation, withdrawals (recorded here or by the participant on the consent form), and the linking entry that is destroyed 30 days after their last donation. Names and email addresses appear only for the principal investigator and the student lead.

not signed in
Uses the Supabase project URL and publishable key saved under Submissions inbox (Import page); the same sign-in serves the inbox. Your password stays in memory only.
Sign in to see the participants.
Corpus analytics

Dashboard

Automated descriptive analysis of the de-identified corpus: what was redacted, what the donated chats cover, and where residual risk sits.

Redaction types and frequency

Life-domain coverage dominant domain per transcript

Theme intensity by domain hits per 1,000 words

Redaction density per transcript re-identification pressure proxy

Conversation structure

Residual risk levels

High = distress content or a dense quasi-identifier combination; review before any excerpt leaves the repository.
Thesis alignment

Human-AI impact lens

Each transcript is scored against four analytic domains drawn from the human-AI interaction literature, which organizes user-level impacts of conversational AI as cognitive, behavioural, and attitudinal, moderated by individual vulnerability: epistemic effects (cognition), behavioural influence, user perceptions of AI (attitudes), and vulnerability factors. Indices are lexicon hits per 1,000 user words; treat them as screening signals to steer close reading, not as validated measures.

Corpus profile across the four domains

Epistemic autonomy map verification vs reliance, per transcript

Lower-right = high reliance with little verification: the profile most relevant to autonomy-erosion findings. Upper-left = active verification.

Per-transcript indices

Strongest evidence excerpts per domain

Qualitative evidence

Quote bank

Automatically extracted, de-identified excerpts with theme and speaker attribution, plus anything you saved during review. Export as a coding matrix for NVivo or Excel.

Quantitative exploration

Hypothesis lab

Exploratory tests on transcript-level metrics. With a small corpus these are hypothesis-generating only; nonparametric alternatives are reported alongside parametric tests.

Result

Choose an analysis and run it.

Visual

Ethics operations

Risk register

Every privacy or welfare risk the pipeline identifies, with how it was addressed. Statuses are editable; the register exports for REB reporting.

Analysis-ready outputs

Exports

Quantitative files are CSV (UTF-8, Excel- and R-ready). Qualitative files carry de-identified text only. Every export is written to the audit log.

Quantitative

Qualitative

More formats

The JSON and Excel exports never contain original strings, whatever the checkbox above says: they carry only de-identified text, tags, metrics, and logs. The workbook loads a spreadsheet library on demand from the same CDN as the charts.

Participant edition kit two-edition deployment

The Studio ships in two builds from one codebase. The participant edition offers import (single or bulk with donation labels), automated de-identification, mandatory review of their own transcripts, and an encrypted submission package; it has no dashboard, no corpus views, and no protocol editing. The research edition is this one. Submissions are encrypted in the participant's browser to the study's public key, so whatever hosts the drop only ever holds ciphertext of already de-identified text; original strings never leave the donor's device at all. Three transports are supported, set in PARTICIPANT_CONFIG at deployment. Direct upload: the website itself stores submissions; the participant edition POSTs the encrypted package to a receiving endpoint and shows the donor a receipt code, with an automatic download fallback if the endpoint is unreachable. Recommended endpoints, in order: an institutional endpoint on SFU infrastructure, or a managed backend pinned to a Canadian region, for example a Supabase project created in AWS Canada Central (ca-central-1), where a public insert-only key lets anyone deposit and no one read, and reading requires a team member's sign-in, which happens only in this research edition. File-drop link: the donor downloads the package and uploads it at a page you host, such as an upload folder on institutional storage. None: download only. In every mode the endpoint holds ciphertext of already de-identified text; any HTTPS target works because the payload is protected before transport.

Generating downloads two files: a private key (keep it off shared machines; without it, submissions cannot be opened) and a public key. The public key is kept in this session so config.js and the builder below can use it; to reuse a key pair generated earlier, load its public key file (button below).

Website settings config.js, read by the participant portal and the consent form (v3.6)

config.js takes the Supabase project URL, bucket, and publishable key saved under Submissions inbox (Import page), and the study public key generated or loaded here. Every value in it is public by design, and the Studio refuses to write a secret key into it. Put config.js in the website folder next to index.html, then upload the folder. The builder below is only needed for other kinds of hosting.

Build the participant edition the two editions are one codebase; this writes the donor-facing file with your configuration inside

no public key loaded
Quick fill from the Supabase inbox settings (project URL, bucket, publishable key):
When this page runs from a website, the builder reads its own clean source. When it runs from a local file, it will ask you to choose the research edition .html file; it never serializes the page you are looking at, so no corpus content can leak into the build.
Compatibility: both editions are version v, package schema . Submissions carry their schema and category list, and the inbox notes any mismatch in the audit trail. Rebuild the participant edition whenever you update this file.

Participant tokens issued by the consent form

Since v3.6, a token is created when a participant signs the online consent form, and emailed to their SFU address with the link to the De-ID Studio. Tokens, consent answers, names, and addresses live in the study database; Participants shows them to the team, and the repository marks any transcript whose token the database does not know. The Token Registry file and tokens.json of v3.5 are no longer needed: anyone who received a v3.5 token can be added under Participants, Add someone who consented another way, keeping their token.

Older token bank (v3.5), used only when Participants has not been loaded
The token bank holds tokens only, never names or emails, so it can live with this workspace.

Hosting on your own website static files

The deployment guide (README-DEPLOY in the deployment kit) gives the exact steps. In short: the website folder holds the participant portal (index.html), the consent form (consent/index.html), config.js, and a small settings file for the host, on Netlify, the lab's site, or any static host that serves HTTPS. The consent lockers, the token emails, and the encrypted packages live in a Supabase project in Canada (Central). Publish only the participant edition and the consent form. Keep this research edition off the public web: run it from a file on a team computer, because it is where the private key and the decrypted transcripts live. What the pages need from their host: HTTPS, and outbound access only to the study's Supabase project and the few public sources the portal may load (a spreadsheet reader when a donor imports an Excel file, and the entity model only if the contextual layer is switched on), which the kit's settings file allows and nothing else. Donors need a current browser (Chrome, Edge, Firefox, or Safari from 2023 onward); Word import uses the browser's built-in decompression.

Workspace

The workspace file is the full repository state. If originals have not been purged it contains raw text: store it only on encrypted, access-controlled media per the data management plan. The encrypted variant wraps the same file in AES-256-GCM with a key derived from your passphrase (PBKDF2-SHA256, 210,000 iterations); it is the right format for moving a workspace between researchers or machines. Restore accepts both variants and will ask for the passphrase when needed. Note that the browser's own storage is not encrypted at rest: on shared machines, purge originals early, export encrypted, and use Delete everything when finished.

Methods note for REB / manuscript

Step 3 of 3

Package & submit

Your transcripts are packaged exactly as you see them in Review: de-identified text, tags, your donation labels, and a redaction log without any original wording. Original text never leaves this device. The package is then encrypted so only the research team can open it.

Submission checklist

Your receipts

After submitting

Nothing you imported is sent anywhere automatically. When your upload is done, you can remove everything from this browser.

Governance

Protocol & audit

Configure the de-identification protocol, manage stored data, and inspect the audit trail.

Contextual detection layer transformer NER, runs locally

A neural named-entity model that reads context, catching names, places, and organizations the rule layer does not know. The model (a one-time download of roughly 100 MB from a public model CDN) is cached by your browser; all inference runs on this device and transcript text is never uploaded. Detections at or above the confidence threshold are auto-redacted for direct-identifier categories; everything else is flagged for your decision. Scans are cached per transcript so downstream reprocessing stays reproducible, and the model and scan time are logged in the audit trail.

off
Models: Xenova/bert-base-NER for transcripts labelled English and Xenova/bert-base-multilingual-cased-ner-hrl for those labelled French (labels PER, LOC, ORG, and MISC mapped to name, place, institution, and stated personal detail); the rule layer knows the French cues in both cases. Detection quality on chat text differs from the news text the model was trained on, which is one more reason human review remains the authoritative step.

Re-identification drivers & regulatory alignment FIPPA, PIPEDA, HIPAA

What commonly re-identifies people is rarely a stray name: it is combinations of ordinary details. An age with a program and a campus; a workplace with a neighbourhood; a date tied to an event; a rare attribute in a small population; a story specific enough that exactly one person fits it; a handle that bridges to a public profile. Auxiliary knowledge the reader already holds does the rest. That is why this tool treats quasi-identifiers as first-class citizens: they are flagged rather than ignored, their co-occurrence raises the mosaic condition, and the corpus surface counts how many transcripts share each visible value.

FIPPA, which governs SFU as a BC public body, writes the same insight into law: personal information includes anything that identifies a person through association or inference. The Act expects reasonable security (s. 30), permits research disclosure only under the five conditions of s. 35, and since the 2021 amendments requires privacy management programs (s. 36.2) and breach notification when significant harm is reasonably expected (s. 36.3). This tool's local-only processing, purge, encrypted workspace, and audit trail are that story in working form. PIPEDA, the federal private-sector statute, does not govern university research here but sets the national benchmark with its ten fair information principles; its safeguards principle scales protection with sensitivity, and health content is expressly sensitive.

To be on the safe side, the engine is additionally mapped against HIPAA's Safe Harbor list of 18 identifiers, the most widely used engineering checklist for de-identification even though HIPAA does not apply in Canada. Where the checklist and this design differ, the design is stricter: all ages are treated, not only those over 89, and full postal codes are always removed.

#HIPAA Safe Harbor identifierMechanism hereStatus
1NamesLexicons, intro/honorific/initial patterns, contextual NER, propagationAutomated + review
2Geography below province/stateAddresses, full postal codes, city lexicon, contextual NER; nothing below province retained by defaultAutomated + review
3Dates tied to a person; ages over 89All calendar dates redacted; stated birth years redacted; ALL ages flagged or redacted (stricter than HIPAA's 89 threshold)Automated, stricter
4Telephone numbersPhone pattern (any separator style)Automated
5Fax numbersSame numeric pattern as phoneAutomated
6Email addressesStandard and spelled-out ("at ... dot ...") patternsAutomated
7Social Security numbersUS SSN pattern; Canadian SIN patternAutomated
8Medical record numbersMRN / chart / patient-number contextual triggersAutomated
9Health plan beneficiary numbersPHN / care card / MSP / beneficiary / policy triggers; bare BC PHN patternAutomated
10Account numbersAccount / membership contextual triggers; long digit runsAutomated
11Certificate / licence numbersLicence / permit / certificate / registration triggersAutomated
12Vehicle identifiers, platesPlate context trigger; 17-character VIN patternAutomated
13Device identifiers, serialsSerial / IMEI / device-id triggersAutomated
14Web URLsLink patternAutomated
15IP addressesIPv4 patternAutomated
16Biometric identifiersNot detectable in donated text; textual mentions fall to the residual audit and reviewerHuman review
17Full-face photographs and comparable imagesIntake is text-only; participants are instructed not to donate imagesOut of scope by intake
18Any other unique identifying number, characteristic, or codeGeneric number patterns, residual token audit, corpus surface, mandatory human reviewAutomated + review
Coverage against a checklist is necessary, never sufficient: FIPPA's inference standard means the reviewer's judgement on combinations remains the deciding control, which is what the flags, the mosaic condition, and the corpus surface are for.

Redaction protocol

Needed after changing modes; requires originals

Data management

Storage model. The working state lives in this browser (IndexedDB when available, otherwise memory only) and is never transmitted. For the DIALOGUE Study, run this tool on the encrypted study laptop; purge originals once review is complete so only tagged text persists.

Audit trail