Ho Bae
Founder working on the messy data problems behind enterprise AI. PhD background in AI/privacy. Building tools for AI agents, sensitive data, and data readiness. Sharing what we learn along the way.
Founder working on the messy data problems behind enterprise AI. PhD background in AI/privacy. Building tools for AI agents, sensitive data, and data readiness. Sharing what we learn along the way.
Redaction turns a row into "*** signed with *** on ***, ***", then "*** escalated payment terms on ***". You can't tell if that's one person or two. Capsule gives the model "[PERSON_A] (Sales) signed with [ORG_1] on [DATE_1], [AMOUNT_1]" and "[PERSON_A] escalated payment terms on [DATE_2]". Names are gone both times. What's left is who's who and what sat where, enough for the model to work with, and your real values come back inside your environment. Sensitive isn't just PII. Deal terms, internal metrics, code names. What's still manual on your team because of what's in the data?
Your agent answered one way in March and another way in June. Code unchanged, model pinned. So you go looking at the data, and the table has moved on. Nothing left to compare against. Syntitan binds every run to the data state it read: run 0412 to release 8f2a, run 0619 to release c71d, and diff 8f2a c71d tells you which three columns moved and which one the agent actually reads. It doesn't stop data from changing. It turns "what did this run see" from an investigation into a lookup. How do you answer that question today?