Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL

Read the talk

Securing a company brain without isolating its knowledge

Tanmai Gopal explains how linked company context, human-approved updates, and permissions applied at each interaction can support useful agents while limiting secret exposure and privilege escalation.

From a talk by Tanmai Gopal

At a glance

Ideas worth remembering

  • A companywide knowledge store can preserve reuse while limiting visibility through per-file scopes and user-specific checks on every read.

  • Agents can reduce contribution effort by proposing facts, organization, and scopes during work. Human approval and attribution retain responsibility for what becomes shared.

  • Increasing daily updates may reflect expanding useful capabilities plus continuing corrections. Gopal’s two-month observation remains preliminary and may eventually level out.

  • Resolved debugging discussions can capture better knowledge than initial observations: the prefix incident produced an intended rule and its production failure rationale.

  • Shared conversations should preserve individual tool authority. Gopal proposes credentials outside the sandbox, user-specific injection at HTTP and SQL boundaries, and access controlled by tool owners; the implementation details are only briefly covered.

Shared knowledge creates an access problem

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 35 seconds
Shared knowledge creates an access problem

Tanmai Gopal opens with a concrete failure scenario: an intern joins a company and asks its shared AI system questions that expose employees’ compensation. A company brain makes accumulated knowledge easier to use, but that convenience becomes a liability when the system gives a person information they should not have. He presents this fear of leaking company secrets as a major obstacle to deploying agents broadly.

His team’s background is the Hasura GraphQL engine and its data-access work, including deployments he reports at Apple, Meta, and JP Morgan. For the company-brain work, he describes a year of partnering with about 15 to 20 organizations. Their needs differ: AI-native companies prioritize getting something working; technology-forward companies such as Instacart want strong technology and tolerate some breakage; banks impose extensive security rules. These are reported deployment experiences, rather than evidence that every security risk has been eliminated.

Internally, the team models its own company brain as a wiki with about 5,000 interconnected pages. Gopal allows that shared knowledge could use other representations, including markdown files on GitHub or knowledge graphs. The important starting point is accumulated, connected context; the storage representation alone does not settle how that context should be shared securely.

0:220:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:01 · section reference included

A useful brain keeps getting taught

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 325 seconds
A useful brain keeps getting taught

Gopal asks the audience what daily updates to a healthy company brain should look like: decline after an initial burst, fluctuate around a steady rate, or keep increasing. A declining curve could represent a familiar organizational pattern: someone scrapes Slack and email, assembles a shared skills repository, and then maintenance loses momentum. A fluctuating curve could reflect an agent accumulating memory while participation varies with people’s enthusiasm.

When he plotted his team’s history over two months, daily updates gently increased. His explanation is that useful behavior encourages people to teach the system more. They first teach it to query data, then to interpret results, then to act on those results, and later to perform A/B testing. Each capability also needs continuing correction because agent learning is imperfect. New capabilities therefore add maintenance activity on top of the existing correction rate.

This is an early observation, not a universal growth law. Gopal explicitly says the rate might eventually level out and resemble the steady, fluctuating option. His proposed health signal is nevertheless useful: look at whether people continue improving the system through use, rather than judging success only by the total amount of knowledge stored.

3:323:38
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:32 · section reference included

Shared context and shared execution

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 585 seconds
Shared context and shared execution

The first use case is an individual agent drawing on other people’s knowledge. For example, a customer emails a security questionnaire, and an employee asks their agent to use the company brain to answer it. The second is collaborative execution: several people work with a shared AI to investigate an incident, fetch logs, inspect code, raise a pull request, deploy to staging or production, and create an alert. The first shares knowledge across people; the second also puts actions into a shared interaction.

For this talk, Gopal defines a company brain as shared context in markdown files together with access-control rules for data and tools, supplied to a coding agent. The agent is a general problem solver that can write code to complete work. His simple example is a request to write a tweet: the agent could write a small script that calls an AI model, although returning the tweet directly would be sufficient for that particular task.

That definition determines the security surface. Context helps the agent decide what to do, while permissions govern the data and tools it can use. Gopal argues against beginning with a gigantic company knowledge graph and trying to secure it afterward. His dismissal of that approach is a design position in the talk; he does not provide a comparative evaluation establishing that every knowledge-graph approach fails.

6:416:44
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:37 · section reference included

Grow context through the people doing the work

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 656 seconds
Grow context through the people doing the work

Gopal rejects the idea that a centralized, two-year project can comprehensively capture the brain of a company such as JP Morgan, with roughly 100 years of history. His alternative distributes ownership: each person doing a piece of the company’s work builds and maintains the corresponding part of its shared context. The ambition remains companywide, but contributions originate with the people who understand the work.

He calls this growing a company brain. The system should let people serve their own needs and contribute their portion as they work, allowing the larger body of context to come together incrementally. This makes contribution design central: capturing knowledge must fit ordinary work closely enough that people actually do it.

9:459:58
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:45 · section reference included

Reusing security knowledge in an email

The concrete example is an email from Dave at StitchFix containing a screenshot of security-onboarding questions. Gopal describes the agent retrieving the email and answering the questions using the company brain, including information about the trust center and the company’s security arrangements. He then approves the draft and tells the agent to send it to Dave. The sequence connects retrieval, shared context, answer preparation, and an explicitly requested external action.

The architectural question is how those answers became available to his agent. He suggests that another person had previously worked on a similar questionnaire and captured useful knowledge as memory or a skill. That earlier contribution now needs to reach a different employee’s agent. The example demonstrates the intended reuse, but the exact history of those particular facts is not established: Gopal describes the earlier contribution as a presumed explanation.

11:1111:12
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:11 · section reference included

Why repositories and team memories fall short

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 894 seconds
Why repositories and team memories fall short

The first obvious solution is to have everyone write shared skills on GitHub. Gopal’s objection is behavioral: a security or compliance employee who has just completed a large Excel questionnaire is unlikely to take on another task of preparing reusable instructions for an unknown future colleague. A repository can hold the knowledge, but its existence does not provide enough motivation or remove the effort of contributing.

The second solution is a team brain: a shared agent that saves memory automatically for a small group. This reduces explicit documentation work, and some audience members report using such a setup. Gopal’s objection is that the resulting knowledge remains isolated. Per-channel memory repeats the same problem: someone added to the channel may benefit, while someone working elsewhere cannot reuse its context. Automatic capture solves part of the contribution problem while leaving the companywide sharing problem intact.

12:3812:40
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:38 · section reference included

One wiki, scoped files, and proposed changes

The third option combines three choices. All context goes into one shared wiki of markdown files that can link to each other. Each file has scopes defining who can read and write it. Agents suggest memory additions rather than adding them automatically. A common knowledge store therefore does not imply common visibility: file-level scopes separate what different people may access within that store.

The agent proposes both what should be added and the scopes for the addition; a human accepts or rejects it. Gopal places this between the effort of writing a shared skill, opening a pull request, and getting it reviewed, and the uncertainty of letting an agent silently write memory. The contribution appears during the work itself. A person adding sensitive finance information checks that it has a finance scope; personal information receives a personal scope.

His interface example follows an email exchange in which a sales representative adds him to a call. After he helps answer the email, a small box presents proposed facts as bullets. He reviews whether those facts are correct and selects “add to wiki.” The agent handles the destination files and links, while he can choose scopes for each affected wiki page. This divides the work deliberately: the agent organizes the knowledge, and the person approves its substance and visibility.

A page about his email prioritization illustrates how ownership and access can apply to personal working context. Gopal leaves the particular interface and access-control system open, but keeps the core requirement fixed: an agent should suggest a change for a person to authorize. Approval still depends on that person correctly judging the facts and the intended audience.

14:5714:59
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

14:57 · section reference included

Attribute changes and authorize every read

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 1171 seconds
Attribute changes and authorize every read

Gopal makes human attribution a rule for every accepted change. The record should identify the person responsible, rather than merely saying an AI agent added it. If compensation information becomes visible to everyone, a human name lets the organization trace the decision and take remedial action. Attribution provides accountability after a mistake; it does not make an incorrect sharing decision impossible.

Read access uses the requesting user’s claims each time the agent retrieves context. In his finance example, the agent can read finance material because the user has the finance claim and access to that part of the wiki. The check happens on every read. This ties retrieval authority to the person being served, so the shared agent’s ability to help many users does not itself grant each user access to all shared knowledge.

18:3418:37
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

18:34 · section reference included

Collaborative debugging improves the knowledge

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 1268 seconds
Collaborative debugging improves the knowledge

The collaborative case involves several people using shared context while holding different privilege levels. Gopal argues that these interactions can generate especially valuable company knowledge. His example begins with the wiki-learning system failing. The agent’s investigation initially lacks a useful skill, so a person directs it to an OpenTelemetry span name. That improves the investigation, but it remains slow.

The person inspects the code and finds the agent using a SQL LIKE query. They tell it to use equality instead. The revised query surfaces details, and further investigation identifies a line of code producing the error. The agent then proposes learnings: use equality rather than LIKE for this lookup, and recognize that a custom prefix on wiki page names can cause problems. The talk does not specify the query, schema, index, or measured latency, so this supports a correction for the demonstrated investigation rather than a general rule that LIKE is always inappropriate.

Another person joins and challenges the technical decision behind the failure. Their disagreement exposes an undocumented choice. As they investigate the root cause and decide to remove the troublesome prefix, the knowledge changes from a description of existing behavior into a rule with a reason: these pages should not have that prefix because it can cause production lookup issues. Capturing the first observation alone would preserve a problematic convention; capturing the resolved discussion preserves the intended behavior and the failure it avoids.

This is why Gopal values shared problem-solving conversations, such as Slack threads. The useful context includes the reasoning that emerges when people question a decision, establish its consequences, and agree on a correction. An agent can offer that knowledge for acceptance, but the quality comes from the substantive investigation and discussion.

20:1420:15
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

20:00 · section reference included

Keep shared execution tied to individual authority

Selected presentation frame from Your company brain will leak secrets: how we stopped it for big banks — Tanmai Gopal, PromptQL at 1489 seconds
Keep shared execution tied to individual authority

A shared agent creates a serious privilege-escalation risk if its authority spans everyone participating. An engineer may be allowed to prepare a pull request while another person has production-deployment authority. If either participant can use the same agent to exercise all available powers, the conversation bypasses that separation. Gopal emphasizes that banks may assign debugging, staging deployment, alert creation, and deployment to different people, even though keeping their work in one conversation helps preserve knowledge.

His proposed extension applies user-specific authority to tool execution as well as context retrieval. Credentials stay outside the sandbox. At the HTTP and SQL layers, the system injects the credentials of the user involved in the particular interaction, allowing the AI to act as that person. The boundary is between code running in the sandbox and the layer that supplies authority for access to real systems.

Gopal summarizes the execution design with two rules: keep credentials out of the cloud sandbox, and proxy or virtualize interactions with real data under user control. The person adding a tool controls who gets access to it. This places authorization at the point of interaction rather than treating participation in a shared session as permission to use every tool. He gives only a brief architectural account, leaving details such as how an interaction is bound to a particular user unexplained.

He closes by presenting the context and tool constraints as principles from which to derive the architecture. After inviting further discussion, announcing a product launch, and taking an audience photo, he adds that the approach supports multiple model families, including GLM and GPT. That closing claim separates the intended shared-agent design from dependence on one model provider, although the talk does not demonstrate how the integrations differ or how their behavior is validated.

23:0523:08
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

23:05 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    All right. Um, everybody can see. Hey

  3. 0:15

    everybody. Um, thank you for being here.

  4. 0:18

    I'm going to talk about um

  5. 0:22

    the fact that if you go ahead and build

  6. 0:23

    a company brain, it will um likely leak

  7. 0:26

    company secrets. um which is kind of the

  8. 0:28

    big fear that we have about building a

  9. 0:30

    company brain anyway, right? Which is

  10. 0:32

    this case of like intern joins the

  11. 0:34

    company and then suddenly gets like comp

  12. 0:35

    details and everybody kind of situation,

  13. 0:37

    right? You want to you want to guard

  14. 0:39

    against that. Um this has kind of been I

  15. 0:41

    guess pretty much the biggest thing

  16. 0:43

    that's been holding us back from just

  17. 0:45

    deploying openclaw and Hermes all over

  18. 0:48

    the place, right? It's also kind of the

  19. 0:50

    reason it's like this big opportunity

  20. 0:51

    that Claude Tag had with it recent

  21. 0:53

    launch a few days ago where like it was

  22. 0:55

    going to be the company brain but then

  23. 0:56

    everybody's like well it's not um it

  24. 0:59

    doesn't look like it's going to be the

  25. 1:00

    company brain right so I'm going to talk

  26. 1:01

    about kind of what makes it challenging

  27. 1:03

    so before we get into that let's let's

  28. 1:06

    kind of understand and dissect this

  29. 1:07

    company brain business a little bit

  30. 1:09

    right um I'm Tan I'm the co founderql um

  31. 1:13

    you can check promqql out um later but

  32. 1:16

    uh the our background as a team building

  33. 1:18

    This is we come from um the hustra graph

  34. 1:21

    we're creators of the hassur graphql

  35. 1:23

    engine which is very popular open source

  36. 1:25

    project in the graphql space uh where we

  37. 1:27

    solved a lot of data access problems um

  38. 1:30

    we deployed everywhere from like apple

  39. 1:31

    to meta to JP Morgan etc. uh and um and

  40. 1:35

    that kind of gave us a lot of these this

  41. 1:36

    grounding uh for uh and and you know

  42. 1:40

    kind of like a lovehate relationship

  43. 1:42

    with uh data and data security. Um,

  44. 1:46

    all right. So,

  45. 1:49

    I'm going to show you stuff that we've

  46. 1:50

    been working on over the last year and

  47. 1:52

    kind of what we've learned from that so

  48. 1:53

    that you can kind of take that and

  49. 1:55

    exercise that and try it out for

  50. 1:57

    yourself. Um, and of course, at the end

  51. 1:59

    of the talk, happy to kind of exchange

  52. 2:01

    notes and see what works or what might

  53. 2:03

    what might not work for you. Um, over

  54. 2:06

    the last year, we've only partnered with

  55. 2:08

    a small set of people who've exhibited

  56. 2:10

    some kind of spike on scale. M so about

  57. 2:13

    15 to 20 folks so far and now we're just

  58. 2:15

    starting to open it up to other people

  59. 2:17

    but over that course of time we've kind

  60. 2:20

    of looked at three different types of

  61. 2:21

    set of people with very different needs

  62. 2:22

    right you have AI native companies that

  63. 2:24

    are willing to just do whatever as long

  64. 2:26

    as it works you have kind of tech

  65. 2:28

    forward companies right folks like

  66. 2:29

    Instacart who um like best of breed

  67. 2:32

    technology right um so they'll move fast

  68. 2:34

    they'll be tolerable to breaking things

  69. 2:36

    but it just needs to be really really

  70. 2:38

    good right and then you have fortune

  71. 2:40

    banks uh who have like a me level

  72. 2:42

    security. Uh, thank God that they do

  73. 2:44

    because they're my bank. I definitely

  74. 2:46

    don't want vibecoded AI agents running

  75. 2:48

    inside a bank because that's where my

  76. 2:50

    money is. Um, so they have a lot of

  77. 2:53

    security rules. Uh, thank you so much.

  78. 2:55

    Uh, but we're deployed in places like

  79. 2:56

    those as well. Um, with kind of the

  80. 3:00

    beginnings or like the frontal lobe of a

  81. 3:01

    company brain, right? So, we'll kind of

  82. 3:03

    talk about those kind of learnings. Our

  83. 3:05

    own personal usage of kind of building

  84. 3:08

    out our company brain. Um it kind of is

  85. 3:12

    about 5,000 pages. So we model it as a

  86. 3:14

    wiki. Uh you can model it however you

  87. 3:15

    want. You can model it as a set of

  88. 3:16

    markdown files on GitHub. You can put it

  89. 3:18

    into a remember graph frag. Uh you can

  90. 3:21

    model it in a you can model it in

  91. 3:22

    knowledge in knowledge graphs. You can

  92. 3:24

    do whatever you want. Um so you can you

  93. 3:26

    can place it wherever you want. But like

  94. 3:27

    it's about 5,000 interconnected pages

  95. 3:29

    for us.

  96. 3:32

    Question for you folks. So suppose you

  97. 3:34

    had a company brain that was working. It

  98. 3:36

    was working well. It was all set up

  99. 3:38

    right. um there would be a kind of daily

  100. 3:41

    number of updates that would happen to

  101. 3:42

    this com to this company brain, right?

  102. 3:44

    Because it was learning stuff from

  103. 3:45

    everybody in the company, right? From

  104. 3:47

    finance to HR to um your engineers to

  105. 3:51

    everybody. So if you were to plot the

  106. 3:54

    daily number of updates happening to the

  107. 3:56

    company brain, what would it sort of

  108. 3:59

    look like? Would it sort of look like a

  109. 4:03

    roughly downward trend? Like all of

  110. 4:04

    these are like random graphs, but would

  111. 4:06

    you would it sort of like start and then

  112. 4:08

    go down? Would it kind of be steady

  113. 4:10

    going up and down as updates spike or

  114. 4:12

    would it kind of steadily increase

  115. 4:14

    upwards? Um so kind of think about like

  116. 4:17

    what would the commit history to your

  117. 4:19

    shared skills repo look like, right? How

  118. 4:21

    many updates are happening to a healthy

  119. 4:24

    company brain, right? Um every single

  120. 4:27

    day, what does that trend look like? Um

  121. 4:29

    anybody for option A?

  122. 4:31

    Anybody thinks it's option A? Okay,

  123. 4:33

    cool. Uh, option B.

  124. 4:37

    Okay. Option C. Ah, that's nice. Um, and

  125. 4:41

    and and so that's so when I kind of

  126. 4:43

    plotted our thing, right, to see what a

  127. 4:45

    healthy company brain looks like. Um, if

  128. 4:47

    you look at number one, it's basically

  129. 4:50

    saying we had a lot of enthusiasm. We

  130. 4:53

    built the company brain on day one, day

  131. 4:56

    two. somebody we gave somebody the task

  132. 4:57

    and said build all the shared skills

  133. 4:59

    repo scrape all the slack scrape all the

  134. 5:01

    emails build it and we'll all use it and

  135. 5:03

    then nobody cares right or you have a

  136. 5:06

    system which is autolearning maybe you

  137. 5:07

    have a Hermes that's deployed internally

  138. 5:09

    something like that where it's kind of

  139. 5:10

    steadily adding more and more comments

  140. 5:12

    so it kind of goes up and down depending

  141. 5:13

    on who has enthusiasm right um and then

  142. 5:16

    when I plotted our history over just the

  143. 5:19

    last uh two months and this is a little

  144. 5:21

    bit outdated now this is what we got and

  145. 5:25

    I was kind of shocked

  146. 5:26

    I was like, why is it continuously

  147. 5:29

    increasing? Like it's a gentle curve,

  148. 5:32

    right? But why is it gently just going

  149. 5:33

    up? Why is the number of updates per day

  150. 5:37

    increasing? And that was fascinating for

  151. 5:39

    me to see because what I realized was

  152. 5:41

    that if you have a system that starts to

  153. 5:42

    work, what happens is people start to

  154. 5:44

    teach it a lot more. It's like saying if

  155. 5:47

    I taught you the skill for quering data

  156. 5:50

    then tomorrow I'm going to teach you the

  157. 5:52

    skill for interpreting that data and

  158. 5:54

    then day after tomorrow I'm going to

  159. 5:55

    teach you the skill of how to take an

  160. 5:57

    action based on that and then after that

  161. 5:58

    I'm going to figure out how to do AB

  162. 6:00

    testing based on so people like you

  163. 6:01

    continuously add more but because

  164. 6:03

    everything is an agent where no amount

  165. 6:05

    of learning is perfect everything has

  166. 6:07

    its own kind of steady rate as well

  167. 6:08

    right so the rates kind of even your

  168. 6:10

    steady rates kind of keep adding up and

  169. 6:12

    that's what I started to notice in our

  170. 6:14

    thing as well this is early. So, who

  171. 6:16

    knows if it'll kind of peter out

  172. 6:17

    eventually. Maybe it'll start to look

  173. 6:18

    more like option B. But a healthy brain,

  174. 6:22

    of course, the overall size keeps

  175. 6:23

    increasing, but even your daily updates

  176. 6:26

    per day kind of keep increasing as well.

  177. 6:28

    So, that's a sign

  178. 6:30

    of a good brain that you built, right? A

  179. 6:32

    healthy brain that you built for your

  180. 6:34

    company. Awesome. The use cases for

  181. 6:37

    company brains, how we start to analyze

  182. 6:39

    how we build a system that won't leak

  183. 6:41

    secrets, right? So, two use cases.

  184. 6:44

    The first use case is there is a company

  185. 6:47

    brain. I want to use it in my AI agent

  186. 6:52

    whatever to get work done, right? Um

  187. 6:55

    I'll show you an example of that, right?

  188. 6:56

    It's like I got an email with a security

  189. 6:58

    questionnaire I need to answer from a

  190. 7:00

    customer and I talk to my AI and I'm

  191. 7:01

    like look up the company brain and help

  192. 7:03

    me answer this security questionnaire.

  193. 7:05

    Right? That's a totally valid use case

  194. 7:07

    of a company brain. Second, very useful

  195. 7:09

    use case, right? because it's other

  196. 7:10

    people's knowledge that are that is

  197. 7:13

    coming to me. Second use case of a

  198. 7:15

    company brain is kind of similar to what

  199. 7:17

    uh cloud tag is is a this idea of

  200. 7:20

    multiplayer and if you've been putting

  201. 7:22

    agents inside slack in places where

  202. 7:25

    multiple people can interact with it

  203. 7:27

    it's kind of being using using it as a

  204. 7:28

    shared AI right to like get stiff stuff

  205. 7:31

    done. Um, and an example of that could

  206. 7:34

    be collaborative incident management,

  207. 7:36

    right? So, for example, you want to say

  208. 7:38

    like, hey, I want to fetch logs. I want

  209. 7:40

    to investigate the there's an incident,

  210. 7:42

    go fetch some logs, investigate the code

  211. 7:44

    codebase, raise the PR, deploy to

  212. 7:46

    staging, deploy to prod, set up an

  213. 7:47

    alert, right? You want like multiple

  214. 7:49

    people are doing things with the company

  215. 7:51

    brain. So, those are kind of two use

  216. 7:52

    cases of the company brain. One is kind

  217. 7:54

    of this like shared collaborative

  218. 7:56

    knowledge use case and one is like

  219. 7:57

    shared AI use case itself, right? Both

  220. 8:00

    of those have a huge um security kind of

  221. 8:05

    problem, right? Um so

  222. 8:10

    to start to secure it, let's kind of

  223. 8:13

    define that a little bit more strongly,

  224. 8:15

    right? So what exactly is a company

  225. 8:18

    brain? And this is my definition of it,

  226. 8:19

    right? It's shared context that you'd

  227. 8:22

    put in a markdown that you'd put in a

  228. 8:23

    set of markdown files, right? and its

  229. 8:27

    access control rules for the different

  230. 8:29

    data and tools that you want to access

  231. 8:31

    as given to a coding agent.

  232. 8:34

    So that's what I'm calling it for um

  233. 8:38

    because I'm speaking so I can define

  234. 8:40

    whatever I want. Um that's my

  235. 8:42

    definition. So I'm not saying this is

  236. 8:43

    knowledge that is pulled into an LLM

  237. 8:46

    that will do tool calls, right? It is

  238. 8:49

    not a AI that is doing general purpose

  239. 8:51

    stuff. It is an AI that is a coding

  240. 8:53

    agent that is solving whatever problem

  241. 8:56

    you throw at it. Right? And similar to

  242. 8:57

    the a little bit of the previous talk

  243. 8:59

    that you folks might have heard which is

  244. 9:00

    this idea of like can we just use a

  245. 9:02

    coding agent to solve general problems.

  246. 9:04

    It's that right? So in the most trivial

  247. 9:06

    case if you say hey write me a tweet

  248. 9:09

    you're writing a small script that's

  249. 9:10

    making an AI call to write a small tweet

  250. 9:13

    right you probably don't need to do

  251. 9:14

    that. The AI itself can just like return

  252. 9:16

    the tweet back to you but like

  253. 9:18

    essentially claude code being used for

  254. 9:20

    everything. Cloud co-work is the same

  255. 9:21

    architecture. The codeex app is the same

  256. 9:23

    architecture which is this realization

  257. 9:25

    that you can use coding agents to solve

  258. 9:27

    general purpose problems. So we're

  259. 9:28

    building the brain for that. We're not

  260. 9:30

    building gigantic knowledge graph

  261. 9:32

    knowledge base for the company and then

  262. 9:33

    trying to secure it that anyway it

  263. 9:35

    doesn't hasn't worked won't work. Um,

  264. 9:39

    so in terms of how we want to approach

  265. 9:41

    designing the company brain, right?

  266. 9:45

    Should we build a company brain?

  267. 9:50

    So, if you're an enterprise and you're

  268. 9:52

    paid to twiddle your thumbs, then you

  269. 9:55

    like this idea of building a company

  270. 9:57

    brain because you're like, "Yes, let me

  271. 9:58

    take on a two-year project and I will

  272. 10:00

    build the company brain for JP Morgan."

  273. 10:02

    That's not going to happen. You can't

  274. 10:04

    build a company brain for an

  275. 10:05

    organization that's like 100 years old,

  276. 10:06

    right? you can barely build it for your

  277. 10:08

    own family, right? Which might just be

  278. 10:11

    months or years old, right? So, so the

  279. 10:13

    idea and the way that we want to build a

  280. 10:15

    company brain is we want each person who

  281. 10:17

    does a little bit of the work in the

  282. 10:18

    company to own and build their part of

  283. 10:21

    the company brain, right? That's the way

  284. 10:24

    we should build it. So, that's kind of

  285. 10:26

    constraint number two that I'm putting.

  286. 10:28

    One was the definition of the company

  287. 10:29

    brain and second is how the approach

  288. 10:30

    that we want to take for how a company

  289. 10:32

    brain is built.

  290. 10:35

    I like kind of this way of phrasing it,

  291. 10:36

    which is that we're going to grow a

  292. 10:38

    company brain. We're not going to build

  293. 10:40

    one, right? We're going to like let it

  294. 10:43

    let it come together. The system needs

  295. 10:44

    to come together otherwise it'll it'll

  296. 10:46

    it's not it's not possible to build. All

  297. 10:47

    right. Um

  298. 10:51

    broadly, we want to let each person

  299. 10:52

    self-s serve their bit of the company

  300. 10:54

    brain. Um and so these are kind of like

  301. 10:56

    the various steps that you want to

  302. 10:57

    follow. I'll come back to this in more

  303. 10:59

    detail if we have time. But let's start

  304. 11:01

    with a particular use case, right? So in

  305. 11:04

    this particular use case, what I have is

  306. 11:06

    this kind of situation where

  307. 11:09

    this is kind of the tangible example I

  308. 11:11

    want to take for you folks. Um I got an

  309. 11:12

    email just a security questionnaire

  310. 11:14

    example, right? Hey, I got an email from

  311. 11:17

    Dave at StitchFix. Um and that has a

  312. 11:19

    bunch of questions I want to answer,

  313. 11:20

    right? So it pulls up my email. It says

  314. 11:23

    the email has a screenshot of their

  315. 11:25

    security onboarding and then it starts

  316. 11:27

    to kind of answer those questions,

  317. 11:29

    right? Um I have no idea how it knew. I

  318. 11:32

    was kind of very surprised to see that

  319. 11:34

    it answered all of the questions on

  320. 11:35

    like, hey, this is our trust center.

  321. 11:37

    This is how our security stuff looks.

  322. 11:39

    Um, they have a gateway, right? It does

  323. 11:41

    something. All of this is kind of coming

  324. 11:43

    from the company brain, right? Which is

  325. 11:46

    the answer to that. And then kind of go

  326. 11:47

    ahead and I'm like, hey, just go ahead

  327. 11:50

    and send this. I like this draft. Go

  328. 11:52

    ahead and send this draft to Dave,

  329. 11:53

    right? And then goes and sends that

  330. 11:55

    email. Really simple example of what I

  331. 11:56

    want to do. Now, the challenge here,

  332. 12:00

    right? And the issue is that how do we

  333. 12:03

    build a system right which somebody else

  334. 12:07

    can contribute to

  335. 12:09

    that a third person kind of uses

  336. 12:13

    how did this knowledge about what our

  337. 12:15

    security thing is come in presumably

  338. 12:19

    somebody else had been working on the

  339. 12:20

    same security questionnaire right so

  340. 12:22

    they had let's say a Hermes agent or

  341. 12:24

    whatever they were working on it you

  342. 12:26

    autosaved some memory maybe somebody

  343. 12:27

    wrote down a skill somehow that piece

  344. 12:30

    piece has to come to my AI agent. How

  345. 12:33

    are we going to make that possible right

  346. 12:35

    now? Um let's try obvious thing uh

  347. 12:38

    number one right which is that everybody

  348. 12:40

    writes shared skills for each other on

  349. 12:42

    GitHub. So the first time the security

  350. 12:43

    questionnaire was answered by your

  351. 12:46

    security person everybody visualize like

  352. 12:48

    your security and compliance person in

  353. 12:49

    your head right now. Imagine that they

  354. 12:53

    after answering the questionnaire, it

  355. 12:55

    sucks to answer questionnaires. After

  356. 12:57

    answering this gigantic Excel sheet of a

  357. 12:59

    of a questionnaire, they then went to

  358. 13:01

    GitHub and updated a shared skill,

  359. 13:04

    right? Many of you are fortunate to work

  360. 13:07

    with people who are modeled after our

  361. 13:10

    Lord and Savior Christ, who are so nice,

  362. 13:12

    who will go and update shared skills in

  363. 13:15

    a GitHub repo, right? Most people will

  364. 13:18

    not. Nobody is going to write skills for

  365. 13:21

    another person in GitHub like that is

  366. 13:24

    not that is not something that is

  367. 13:26

    natural to us right in the dayto-day of

  368. 13:29

    doing work we don't suddenly decide that

  369. 13:31

    ooh this might be really useful for

  370. 13:34

    somebody else I don't even know I'm not

  371. 13:37

    connected to in this situation in the

  372. 13:39

    future not happening I can barely get it

  373. 13:41

    to like curate my own memory and my

  374. 13:43

    context I do not have the time to send

  375. 13:45

    it to somebody else um to write it down

  376. 13:48

    for somebody

  377. 13:49

    [snorts]

  378. 13:49

    Second, instead of having a company

  379. 13:52

    brain, why don't you do a team brain?

  380. 13:53

    Why don't you all just use one shared?

  381. 13:55

    Why doesn't the security team kind of

  382. 13:57

    use one more

  383. 14:00

    shared silo where you can do this,

  384. 14:01

    right? So, build an agent and have it

  385. 14:02

    kind of save to memory itself, right?

  386. 14:05

    Um, and that's kind of the architecture

  387. 14:06

    that I I'm guessing a lot of you folks

  388. 14:07

    have with maybe something like a Hermes

  389. 14:09

    added to Slack. Does anybody have kind

  390. 14:11

    of a team team brain situation going

  391. 14:13

    where you have an AI that multiple

  392. 14:15

    people use that autosaves memory and

  393. 14:17

    auto adds context? Does anybody have

  394. 14:18

    kind of like a skill that does that

  395. 14:20

    already just for a small team? One.

  396. 14:23

    Anybody else? Okay. Okay. A few of you

  397. 14:25

    have that. That's cool. Um this is nice

  398. 14:27

    but the problem is it's still not a

  399. 14:29

    company brain because it's still

  400. 14:30

    isolated, right? So it's like one more

  401. 14:33

    silo, right? Like for example um if this

  402. 14:35

    gets like with claw tag um it it has a

  403. 14:39

    per channel memory right so in every

  404. 14:41

    channel it gets saved but now it's

  405. 14:44

    another silo in that one channel right

  406. 14:46

    so now it's again locked into one place

  407. 14:49

    that can't be used anywhere else so if

  408. 14:50

    somebody got added to that channel it

  409. 14:52

    would work but otherwise it wouldn't

  410. 14:53

    work right um and so

  411. 14:57

    this is the third option

  412. 14:59

    the third option is saying all context

  413. 15:02

    text goes into a single shared wiki. A

  414. 15:06

    wiki is a set of markdown files and

  415. 15:07

    markdown files can link to each other.

  416. 15:08

    So imagine a gigantic folder. The folder

  417. 15:11

    has lots of markdown files, right? And

  418. 15:14

    markdown files can link to each other.

  419. 15:16

    So all all context instead of saving it

  420. 15:19

    inside a folder, siloing it, you put it

  421. 15:22

    in a markdown file, the equivalent of a

  422. 15:24

    markdown file, and you let it link with

  423. 15:27

    each other.

  424. 15:28

    The second thing that you do is you

  425. 15:30

    allow each file to have scopes on who

  426. 15:33

    can have readwrite access to that file.

  427. 15:38

    The third thing that you do which is the

  428. 15:40

    most important,

  429. 15:42

    you don't let the agent auto add the

  430. 15:45

    memory.

  431. 15:49

    You don't let it auto add because if it

  432. 15:51

    auto adds,

  433. 15:53

    you have no idea what happened, right?

  434. 15:55

    You can't

  435. 15:57

    the we we're back to kind of the same

  436. 15:59

    world where some stuff is getting added

  437. 16:00

    and as long as you're in that agent's

  438. 16:02

    memory, you're lucky, right? So, the

  439. 16:05

    third thing that you do is instead of

  440. 16:06

    letting the agent auto add, do something

  441. 16:09

    that allows your agent to suggest what

  442. 16:13

    is added with what scopes

  443. 16:16

    and then have the human

  444. 16:19

    accept or reject.

  445. 16:21

    So it's not as heavy as GitHub where I

  446. 16:25

    have to go and write this update a

  447. 16:27

    shared skill do a PR review and then get

  448. 16:29

    it merged but it's also not as yolo as

  449. 16:33

    the memory just kind of being

  450. 16:34

    autowritten by the agent right it's kind

  451. 16:37

    of the sweet spot where while you are

  452. 16:39

    working you pop it up suggest the right

  453. 16:43

    scopes and let somebody add it so now

  454. 16:45

    what happens is with this very simple

  455. 16:47

    addition right you are able to let

  456. 16:51

    people add to a gigantic wiki, but you

  457. 16:54

    let that person take on responsibility

  458. 16:56

    for what they can see or not. So, if I'm

  459. 16:58

    adding something to the finance wiki, I

  460. 16:59

    want to make sure I'm adding something

  461. 17:01

    that's sensitive, I want to make sure it

  462. 17:02

    has a finance scope. If I'm adding

  463. 17:04

    something that's personal, I want to

  464. 17:05

    make sure that that's personal scope.

  465. 17:06

    Let me show you an example UX of what

  466. 17:08

    that might look like. This is what we

  467. 17:09

    do.

  468. 17:25

    This was a recent email that I got um

  469. 17:30

    from one of our sales reps adding me

  470. 17:32

    onto a call. I looked at that email,

  471. 17:34

    helped answer it, and then

  472. 17:37

    I got a little box that suggested a

  473. 17:39

    bunch of bullets that told me what it's

  474. 17:41

    going to add, right? And when I hit add

  475. 17:44

    to wiki and and so now it's much easier

  476. 17:46

    for me to review what is getting added.

  477. 17:47

    I don't care I don't care if it gets

  478. 17:50

    added into this markdown file, that

  479. 17:52

    markdown file, what links that the agent

  480. 17:54

    takes care of. What I care about is are

  481. 17:56

    these facts correct?

  482. 17:58

    If these facts are correct, I'm going to

  483. 18:00

    hit add to wiki and I'm going to be

  484. 18:01

    done, right? And and during the time of

  485. 18:04

    add to wiki, I can choose what scopes

  486. 18:05

    need to be added per wiki page or not.

  487. 18:08

    Right? So each wiki page itself can get

  488. 18:11

    a certain set of scopes that you want to

  489. 18:12

    decide who gets access to what for

  490. 18:14

    example right so for example my email

  491. 18:17

    this is the wiki page that I have for my

  492. 18:18

    emails and how my emails are prioritized

  493. 18:20

    and I can now decide who gets access to

  494. 18:22

    this who are the owners for this and

  495. 18:24

    what the artback for this is. So

  496. 18:25

    whatever the system looks like is up to

  497. 18:27

    you folks but the core idea is that you

  498. 18:30

    want to get the agent to suggest a

  499. 18:32

    change instead of doing the change. All

  500. 18:34

    right. So, two rules. One, make sure

  501. 18:37

    that everything goes into one

  502. 18:38

    companywide wiki. Don't back down from

  503. 18:40

    this rule. Second, make sure that like

  504. 18:43

    as a part of that, every change is

  505. 18:45

    backed by a human's name. Nothing should

  506. 18:48

    be allowed inside the wiki that is

  507. 18:50

    Claude added this or like your AI agent

  508. 18:53

    added this or Hermes added this. No,

  509. 18:55

    Tanme added this. that that name needs

  510. 18:57

    to be there so that you can tie it back

  511. 18:59

    to this is the person who screwed up and

  512. 19:02

    like allowed everybody to see like

  513. 19:04

    everybody's comp right and like whatever

  514. 19:07

    now you can take remedial action uh

  515. 19:09

    right whatever that is put them on a pip

  516. 19:11

    um you didn't know how to edit a wiki so

  517. 19:13

    so that is very very important and rule

  518. 19:15

    number two once you decide that you can

  519. 19:18

    then go to the second scope of like okay

  520. 19:19

    you've got to make it easy for them to

  521. 19:20

    do that which is where this business of

  522. 19:22

    scopes come in where you want to scope

  523. 19:24

    each file according to who gets access

  524. 19:26

    you to build kind of a system around it.

  525. 19:27

    This is what an architecture diagram of

  526. 19:29

    that looks like where you have users um

  527. 19:32

    users talk to the agent uh agent when

  528. 19:35

    it's reading context uses that

  529. 19:37

    particular user's claims right so if I

  530. 19:40

    am reading something for solving a

  531. 19:42

    finance problem it's using the finance

  532. 19:45

    claim to read as me because I had access

  533. 19:47

    to the finance wiki so I can read it and

  534. 19:50

    that is done every single time right so

  535. 19:53

    the agent is always using the user's

  536. 19:54

    credential to read the right part of the

  537. 19:57

    wiki. Um,

  538. 20:00

    all right. I am um I'm fairly out of

  539. 20:03

    time for the second use case. So, what

  540. 20:05

    I'm going to do is give you a quick

  541. 20:06

    flavor of the second use case, but

  542. 20:08

    extend this idea. This is the daddy use

  543. 20:12

    case. This is like this is the big daddy

  544. 20:14

    use case. This is a really complicated

  545. 20:15

    use case because now it's not just one

  546. 20:18

    person answering an email. It's a bunch

  547. 20:21

    of us using the shared context to solve

  548. 20:26

    a problem with various different

  549. 20:28

    escalation like privilege levels at the

  550. 20:30

    same time, right? And these are kind of

  551. 20:32

    the these are the these are the

  552. 20:34

    interactions AI where the most amount of

  553. 20:36

    company brain knowledge is created,

  554. 20:39

    right? For example, I'm going to show

  555. 20:41

    you a quick real life example of um what

  556. 20:45

    it looks like for us. Um so this was a

  557. 20:47

    case from an SR situation where um

  558. 20:51

    somebody was like hey our autolearning

  559. 20:53

    our wiki learning uh fairly meta was

  560. 20:56

    failing it wasn't working what's going

  561. 20:58

    on right and then it starts doing the

  562. 21:00

    investigation and it sucks cuz it's it

  563. 21:02

    didn't have a skill it failed so like

  564. 21:05

    bro don't do this please use this open

  565. 21:07

    telemetry span name used an open

  566. 21:08

    telemetry span name it did a slightly

  567. 21:10

    better job but was still really slow so

  568. 21:13

    he looked at the code and he's like oh

  569. 21:15

    you're using a like query. You're you're

  570. 21:17

    a you're a dumbass. This is Opus 4.5. Um

  571. 21:20

    we like like don't do this. Right? So

  572. 21:23

    then he's like don't use a like query.

  573. 21:24

    Use an equals to query. Right? And then

  574. 21:26

    it does equals to query and it surfaces

  575. 21:28

    some details and it and then he says oh

  576. 21:30

    dig deeper into this and it says

  577. 21:32

    whatever this is a line of code where

  578. 21:33

    the error is coming from. Simple stuff

  579. 21:35

    right? This is now where it surfaces

  580. 21:38

    some knowledge and says aha I learned

  581. 21:41

    that I should use equals to and not

  582. 21:42

    like. Right? I learned that if you have

  583. 21:45

    a custom prefix added to wiki page

  584. 21:47

    names, it can cause issues, right? Um,

  585. 21:49

    so it offers these learnings that you

  586. 21:51

    can choose to accept.

  587. 21:53

    So he kind of went dug in deeper um into

  588. 21:55

    what the problem was. Somebody else

  589. 21:57

    joined the conversation, right? And said

  590. 22:01

    the technical decision that we've made

  591. 22:02

    here is wrong. Why is this happening?

  592. 22:04

    And now two people start to have an

  593. 22:06

    argument, right? They have an argument

  594. 22:09

    saying, hey, it should not be like this.

  595. 22:10

    it should be like this but why is it

  596. 22:11

    like this but it should be like this

  597. 22:12

    right that argument creates knowledge

  598. 22:15

    because the actual problem was that

  599. 22:16

    somebody made a technical decision that

  600. 22:18

    was not documented right when they

  601. 22:20

    decide to fix that issue and they

  602. 22:22

    observe that that is indeed the root

  603. 22:24

    cause and they decide that this is the

  604. 22:25

    way it's going to be fixed hey we should

  605. 22:27

    remove this prefix that's causing a

  606. 22:29

    problem whatever whatever the thing is

  607. 22:31

    that creates the highest quality context

  608. 22:34

    to be added to your brain because the

  609. 22:36

    previous suggestion was to say uh pages

  610. 22:39

    should not pages have a prefix. But the

  611. 22:41

    fact that pages have a prefix is a

  612. 22:43

    problem. Right? So now the thing that

  613. 22:45

    you're documenting in the brain is pages

  614. 22:47

    should not have a prefix. If they have a

  615. 22:49

    prefix, it can cause lookup issues and

  616. 22:51

    prod. This happens when multiple people

  617. 22:54

    talk to each other, right? And solve

  618. 22:56

    problems together. This is what happens

  619. 22:57

    in a Slack thread. When two people talk

  620. 22:59

    to each other and solve a problem, it

  621. 23:01

    creates the highest quality context. But

  622. 23:04

    and so so that's kind of what you want

  623. 23:05

    here. But the challenge is that the priv

  624. 23:08

    privilege escalation around this becomes

  625. 23:10

    very very serious. If you if you're

  626. 23:13

    building an agent that can do everything

  627. 23:17

    surrounded by multiple people, that's

  628. 23:18

    scary because the engineer was allowed

  629. 23:20

    to do the PR work but now I can use the

  630. 23:23

    same agent to deploy to prod. That's too

  631. 23:25

    scary. I can't have a conversation where

  632. 23:27

    I debug and

  633. 23:29

    deploy securely, right? Especially if

  634. 23:33

    you're in a bank, right? like the people

  635. 23:34

    who are debugging, deploying to staging,

  636. 23:36

    setting up an alert and deploying are

  637. 23:38

    not the same. But but being the same has

  638. 23:40

    a lot of value because that's where all

  639. 23:41

    the knowledge is, right? And so that

  640. 23:44

    kind of brings us to the second

  641. 23:45

    architecture which I'm not going to get

  642. 23:46

    into too much detail with, but think of

  643. 23:49

    it as the same idea where user

  644. 23:51

    credentials and claims were used to read

  645. 23:53

    context. Instead of that, also use user

  646. 23:57

    credentials, right, when the code is

  647. 24:00

    executing tools. So never store

  648. 24:03

    credentials in the sandbox.

  649. 24:05

    Instead of that at the HTTP layer, at

  650. 24:08

    the SQL layer, inject the user's

  651. 24:10

    credentials, allowing the AI to behave

  652. 24:13

    as the human in a particular

  653. 24:14

    interaction, right? Um so there's

  654. 24:17

    interesting details here. Um but that is

  655. 24:20

    what allows a shared AI to work with

  656. 24:22

    shared context, right? And those are

  657. 24:23

    kind of the two um key pieces to work

  658. 24:26

    with. So I would summarize and you'll

  659. 24:28

    this architecture is not particularly

  660. 24:29

    complicated, but it's very simple to

  661. 24:30

    work back from these two rules. Do not

  662. 24:32

    store credentials in the cloud sandbox.

  663. 24:34

    And second,

  664. 24:36

    virtualize all interactions with real

  665. 24:38

    data. Proxy it, virtualize it, whatever

  666. 24:41

    word you want to use. And let users

  667. 24:43

    control them. So the user who adds a

  668. 24:45

    particular tool should control who gets

  669. 24:47

    access uh to that particular tool. So

  670. 24:50

    you can derive this entire thing if you

  671. 24:52

    just kind of follow these four

  672. 24:53

    principles and work backwards from that.

  673. 24:54

    there's only one architecture that is

  674. 24:56

    possible that makes sense uh in how you

  675. 24:58

    manage context and what constraints you

  676. 25:00

    set up and how you manage tools and what

  677. 25:01

    security rules you set up. Um that is my

  678. 25:05

    time um and and so um happy to chat more

  679. 25:08

    um after the talk um we have a booth as

  680. 25:10

    well so happy to chat more through that

  681. 25:12

    on what the nuances inside this

  682. 25:14

    architecture are. I'm Tanme on Twitter.

  683. 25:16

    Um we're called PromQL. Um do check us

  684. 25:19

    out um at the end of the day um with the

  685. 25:23

    AI engineering community. We're going to

  686. 25:25

    do a product launch. Uh and so I would

  687. 25:28

    love to share that folks share that with

  688. 25:30

    everybody. I'm going to take a picture

  689. 25:32

    with everybody on stage so that I can uh

  690. 25:34

    I can share that. And so let me let me

  691. 25:37

    do that while I'm here.

  692. 25:40

    All right. Do folks want to say cheese?

  693. 25:43

    [laughter]

  694. 25:46

    Thank you so much. Um so watch out for

  695. 25:48

    that. Um it's our approach to um claude

  696. 25:51

    tag which is prompt tag which is very

  697. 25:52

    similar to the ideas that we tag chatted

  698. 25:55

    about here except that you're not stuck

  699. 25:57

    to cloud you can use GLM and you can use

  700. 25:59

    GPT and then soul comes out and we can

  701. 26:01

    use that and have a lot of fun. Um so do

  702. 26:03

    check that out and otherwise I'll see

  703. 26:05

    you folks soon.