← All AI Engineer talks

AI Engineer Europe 2026

What if the network was the sandbox?

About this talk

Remy Guercio argues that sandboxing AI agents requires separating execution isolation from credential and access control. He explains how Tailscale layers user, group, and workload identity over WireGuard connections, then demonstrates Aperture, an identity-aware AI gateway that centralizes provider credentials and exposes request-level usage and authorization for developers and automated agents.

Chapters

  1. 0:15Rethinking sandboxes and execution boundaries
  2. 1:53API keys, OAuth, and agent permission risks
  3. 3:21WireGuard and identity-aware Tailscale networking
  4. 7:32Aperture gateway demonstration and request inspection
  5. 15:31Tailscale identity primitives and closing discussion

Talk transcript

  1. 0:00

    [upbeat music] Yeah.

  2. 0:15

    Hi, everybody. Uh [laughs] thanks for joining. I know we're a little late starting, so, um, yeah, appreciate it. Uh, yeah, I'm happy to, um, excited to talk about, uh, kind of a, both a question that I kinda wanna pose and kinda wanna, you know, think about.

  3. 0:29

    Uh, and then I'll just do a demo of something that, uh, basically what you can do, uh, a project that we're working on and building, uh, that you can do if you start to think about the network, uh, as more of a sandbox environment rather than, you know, just necessarily the network.

  4. 0:43

    So, um, yeah, I mean, just kinda starting by asking the question, what are the components of a sandbox, right? You know, so I know I say that. You've probably all thought of different things.

  5. 0:53

    You've probably all thought of probably a VM or a container and the debate between whether that's the case or whether or not the agent should go in the box or outside of the box or, you know, around the box or both or things like that.

  6. 1:04

    Um, so, uh, you know, I'm just gonna break it down to something, you know, very simple, uh, and then kinda ask, you know, a little bit of, um, down, you know, about, uh, what it might look like at the network layer.

  7. 1:14

    So, uh, you know, what are the components, like at the very, you know, very basic level? Like, what are the components of a sandbox? So first is a boundary, right?

  8. 1:22

    So it's just there's a thing in and there's a thing out [laughs] right, uh, of the sandbox. And the second is a set of permissions, right? So if you don't have the set of permissions or identity that's a part of that, you, uh, you don't have a very fun sandbox, right?

  9. 1:37

    It's a sandbox without any toys, right? It, it, it's a sandbox, but uh, it's not, there's not really anything, anything there. And so, you know, if we think about that and we think about agents, right, in a particular, like what it means to put an agent in a box or something, something similar to that, uh, you know,

  10. 1:53

    we can kinda think about how permissions are typically handled today and what that means. And so it's one of two ways, right? It's typically one of two ways. It's, there's the first way, which I think is what the major model labs, uh, would really like you to do, which is use API keys, right?

  11. 2:06

    So you're paying the full price. Um, uh [laughs], and, uh, you know, that's one. Uh, and you know, that doesn't also get at the heart of the true like AuthN versus AuthZ, right?

  12. 2:14

    It's just like, here's an API key. It lets you, you know, it lets you have access, right, to like, to, to, you know, all of the models or some of the models or, or things like that.

  13. 2:23

    And the other fun part is it's an API key, so even if it's a synthetic one, the models are very clever at, uh, doing things with keys that they maybe shouldn't necessarily do, uh, especially if you run them in a loop for a very long time.

  14. 2:36

    Uh, and then the other, you know, other way, you know, the, uh, maybe the more cost-effective way, uh, is to use, you know, OAuth or, you know, OIDC in terms of like, uh, you know, actually handling the permissions for your agent.

  15. 2:47

    So, um, but again, both of these things are actually things that happen, like you do them in the sandbox, right? So like your key goes in the sandbox, uh, or you know, you've like logged into your agent, and it's running over there somewhere.

  16. 2:58

    You know, your OpenClaus running over there with your, uh, you know, your account just kinda hanging out over there in the, you know, in the corner. Um, and so, um, yeah, so that, what that means is like the, the, um, you know, is the agent has access, right, to its kind of own permissions, right?

  17. 3:14

    It's in a box, but it act- it actually has access to the thing, uh, to give it permissions. And so my question is, you know, what if we, you know, again, what if we used the network?

  18. 3:21

    What if we thought about the network? And I don't know who's familiar with WireGuard, like the WireGuard protocol? Okay, yeah, most people. Uh, um, but yeah, so, uh, you know, what WireGuard lets us do, and that's what Tailscale is built on top of, uh, is, uh, WireGuard basically lets us, you know, give a set of keys to

  19. 3:37

    all of the, you know, any node on a given network. Uh, and then at Tailscale, we're actually able to put kind of like the, the identity component on top of that.

  20. 3:45

    Uh, and so, uh, you know, here, basically we kinda have the question of this is, this is effectively what Tailscale is. And, uh, we're, we're sort of kind of asking the question is like what if we took the components of like AuthN and AuthZ and we just stuck them at the network level?

  21. 3:58

    So, uh, at least on a, you know, on a tailnet, right? So we're using WireGuard to establish these connections, and these are direct connections between anything that you might think, so a container, uh, a GPU server, you know, your laptop, a phone, a whatever.

  22. 4:11

    Uh, we are able to say, um, so in each connection, uh, we're able to give like the actual identity of what and who might be connecting. So, uh, with each connection that happens over Tailscale, uh, you get a user if that user is logged into the device.

  23. 4:28

    You get all of the groups, like in that sense of like if you're SCIM syncing groups, so like if you're in the engineering org or, or things along those lines, uh, you get all of, you can get all of those.

  24. 4:37

    You can get, uh, you know, if this is a, like an agent, so like a PR review bot maybe that you have running somewhere, right, in a, in a GitHub Action, uh, it can be a tag or a set of tags.

  25. 4:46

    So this is the PR review bot for this project, or this is the PR review bot for this sort of thing. Um, and you know, we can take that and apply it to every single network connection.

  26. 4:54

    So not only can we, um, uh, we can basically govern network access based on that, so you can't even talk to something if you don't have a certain set of permissions.

  27. 5:02

    But the thing on the other side actually also gets all of the information. So there's a very... I mean, if you're used to doing things with networking, you're probably used to doing things with like IP address or like, you know, here's a thing over here, and like we're kind of like, you know, connecting things or, you know,

  28. 5:17

    it's IP address plus some key, again, like an API key that your service is providing. Uh, this is all kind of in one, uh, so the connections happen, you know, like the connections happen with identity.

  29. 5:28

    And so what that lets you do is it lets you build some very interesting applications, uh [laughs], uh, on top of that. So, uh, and I realize this is very dark here on the screen, so I apologize.

  30. 5:38

    Um, the, uh, um- Lets you build some very interesting applications. One of which, uh, we happen to build is an AI gateway. So, uh, what's happening here is, um, you know, everybody's probably, you know, familiar with kinda your typical LLMs.

  31. 5:53

    This is, you know, LLM gateway, right? Uh, Aperture works the same from that perspective. So you take, like, a single key from a provider, uh, you know, be it, you know, Anthropic or OpenAI or, you know, Gemini or Vertex or Bedrock or whatever.

  32. 6:04

    You can take a single key from any given provider, you can put it on Aperture, and then on the other side... So Aperture is just a node, again, on this network.

  33. 6:11

    So it's like a node, uh, node that you deploy onto this network, so it is actually able to see all of the identity from everything that's talking to it.

  34. 6:18

    So in the case of a agent in a sandbox, that sandbox has a tag. That sandbox is like, uh... We can think of, in this case, let's think of, like, Gi- a GitHub Action runner, uh, as sort of a sandbox that your agent is running in.

  35. 6:30

    Uh, you can use something like the federated OIDC from GitHub. Uh, that will s- basically, when that, that runner spins up, that runner will suddenly... Uh, basically it gets the access into the tailnet, it gets a tag on that tailnet, and that tag on the tailnet is what determines, uh, what it is able to do, uh, via

  36. 6:48

    or through Aperture, uh, because again, it can see that. Um, and I'll show you an example in just a second. Um,

  37. 6:55

    so yeah. So that's, that's kinda like where we are. So we have, you know, single key on Aperture. You can then write all your rules in Aperture and then on the other side, there's actually no key.

  38. 7:03

    It's just... So, like, that runner connecting from the sandbox has no key to accidentally exfil or share or do something with, uh, or, you know, kind of go beyond its boundaries.

  39. 7:13

    There... It's just no key whatsoever in, in that sandbox. Um, so yeah. So that's, that's that. And just to kinda show you, like, live, I, I kinda like to...

  40. 7:22

    I, I actually prefer to just show things. Sorry, here. Just show things live. Um, so this is Aperture, just kinda like I had the screenshot before and let me change it to be...

  41. 7:32

    We're gonna go light mode, just to make things easier to read. [laughs] Um, uh, so, so this is Aperture. Again, this is what I was showing you. Um, this is my view into, like, my Aperture instance.

  42. 7:42

    So I am connected here. I'm actually on our corporate tailnet. Uh, so I'm logged in on our corporate tailnet. Uh, I have visited Aperture as a user. It knows who I am.

  43. 7:53

    Uh, I'm on my laptop, right? So I, I'm just on my laptop. It knows I'm, I'm logged in as me. Uh, and so it's showing me all of my, uh, like, usage metrics on our, you know, kind of like demo instance here.

  44. 8:04

    Uh, and so, you know, I can see, you know, all the tokens that I've used, I can see the models that I've used, I can see how much money I've spent on the given models, uh, on any given model.

  45. 8:14

    Uh, and then I can even see all of the requests, uh, that have come through the gateway from my particular identity. So that works for me. That also works for everything else.

  46. 8:23

    Um, I can even drill down and see, like, uh... So this was me testing it before, and, uh, I can show you live. But I just asked it to say hello, uh, and with all of the context in Claude Code, even if you just ask it to say hello, that cost you 20 cents.

  47. 8:36

    That's a, you know. [laughs] Uh, it cost me 20 cents, but the, the next one is not as, [laughs] is not as expensive. Uh, but I can actually even go in here and, you know, see all of the request headers, res- request, response body, you know, everything here.

  48. 8:48

    And if I scroll all the way down, uh, there should be, uh...

  49. 8:53

    Oh, yeah. See, this is everything. This... In case you were wondering, this is everything that Claude Code sends at the very beginning. And so if, if I say... [keyboard clacking] Here, let's say, "Hello."

  50. 9:05

    Oh, no. Well, maybe I didn't [laughs] do it right there. [laughs] The, uh, uh, this is liter- literally everything that Claude sends right off the, like, right off the bat as a particular, uh, request, and then you can see the response and the response body.

  51. 9:16

    Uh... Oh, sorry. I asked it to tell me a 10-word story, so there we go. Uh, um, you know, a cat sat on a mat and then simply vanished.

  52. 9:22

    But this is the, like... This is what's actually going through the, the gateway when you make that first, like, very first request, uh, from Claude Code. Um, so yeah.

  53. 9:31

    So that's, that's that. If I wanted to look at me, right? See, that's me here. I can see my, my session. This is my Claude Code session with two, uh, you know, with two requests here.

  54. 9:40

    So there was the haiku thing to tell me, you know, to give me the summary of what was going on, and the 20 cents I spent to, to get that 10-word story.

  55. 9:47

    And then I can even also... So, you know, I mentioned, like, GitHub Actions runners, so this is actually a PR review bot, uh, that we have. You know, it's just a small, like, simple check, uh, that we have run on, on every PR, like, update.

  56. 10:00

    And so you can even see here, right? So this is it. It has a tag. It's our dogfood tag. Uh, and, uh, you know, you can see everything that the dogfood bot has done here, uh, over the last 30 days.

  57. 10:13

    And I can open it up, I can take a look, I can see every single request that it's run, and I can even take a look at something like this, and we can see, you know, here it spent four cents, uh, and, uh, it ran three commands, uh, at the same time.

  58. 10:26

    So I'm actually able to see all of the, like, bash commands and everything along those lines, uh, here. Uh,

  59. 10:32

    yeah. So, you know, that's the case there. Uh, you know, I, you know, I mentioned seeing those bash commands. You can actually extract, and it's a fun part about working at the LLM layer and having everything at the network layer.

  60. 10:43

    There's no, uh... I have sort of a guarantee, uh, that I've seen every tool call that this thing has ever, like, this thing has ever made, uh, through the instance.

  61. 10:52

    This is not happening, like, from inside the container. This is not happening from the harness or anything along those lines. If it had to make a tool call, it had to go through Aperture, and we would, you know, we would extract it here, and you would, you would see it.

  62. 11:04

    So if I, like, go here, and, you know, uh, you can see all of the, uh, you know, all of the tool calls that it made. It, you know, requested an MCP tool call to update the code review, did some bash, did some grep, you know, and then re-updated the comment on the code review.

  63. 11:17

    And there's no, like... Uh, again, we see everything, so right. And if you wanted to cut it off or you wanted to stop it, uh, it's happening at the network layer, network layer, so the moment you say [snaps fingers]

  64. 11:27

    no, it, it's not like it has a key and then can be like, "Oh, I see the key no longer works. Let me go to this other endpoint," right?

  65. 11:33

    Or, "Let me try this other thing," or, "Let me do this," you know? You know, I mean, it would be very helpful here, right? It literally is like, "Oh, uh, key no longer work."

  66. 11:41

    It's just, it's just a dash. So, uh, and just to show you that, um, we have our, like, sort of agent, uh, agent sandbox script. This is all you actually Have to do.

  67. 11:50

    So in like Claude Code, it's just, "Hey, you're gonna run an API key mode." Here's a dash, like just so you have something so you don't complain that there is no API key for API key mode.

  68. 12:00

    And then here is the endpoint that you need to, you know, the base URL that you need to use. And it, again, it works across, you know, like Codex or Claude Code or Gemini CLI.

  69. 12:08

    Uh, and here's what you need to use, and you know, when you do that, uh, you can just, again, I can say, you know, I'm gonna say Claude. Uh, this is my actual settings.json.

  70. 12:17

    You can see the same little same things up here at the top. Uh, but you know, I can do that and I can say, you know, again, "Tell me a, a 10-word story."

  71. 12:26

    By the way, if I... When I asked it to tell me a 10-word story like three weeks ago, it was all about robots, and then it became about dogs, and then now it's about cats.

  72. 12:34

    So if there's a sort of, uh, I don't know, model eval suite or something like that, I don't know. You can tell, uh, something's happening, uh, on the back end. [laughs]

  73. 12:43

    Um, so you know, in terms of what they do. They got a cat... You know, cat sat on a mat and then found a home. But-

  74. 12:49

    It's only nine words.

  75. 12:51

    Yeah, actually, wow. So still can't count. [laughs] Uh, that's fun.

  76. 12:55

    You're good.

  77. 12:56

    Opus 4.6, one million context. Uh, uh, you know, um... [laughs]

  78. 13:04

    So it takes an hour now.

  79. 13:06

    Uh. [laughs] There we go, right. [laughs] Uh, uh, and then finally found home. So there we go, right? [laughs] You know. It just forgot the extra bit. Um, but again, you know, if we wanted to see that, right?

  80. 13:20

    You know, hey, you've got a pipeline that, you know, actually depends on that being 10 words or something, you know, or having a certain structure. Uh, things can easily break, like in a PR review bot and, you know, that can happen.

  81. 13:31

    And when it happens in like something like a PR review bot, it's hard to actually know what's going on or, you know, what happened or when. Um, you know, I can go back to my logs, right?

  82. 13:39

    Here, here's my session, right, with three requests instead. And you know, here they all are, right? Here's the summary thing, and then here's the first request with the, all, you know, all of the input tokens.

  83. 13:48

    Uh, you know, that was the 20 cents, and then here's the, you know, "Are you sure about that?" Uh, and you know, here's the, "You're right, that was nine." [laughs]

  84. 13:56

    Uh, so you know, again, if you're trying to go back and, and look at certain things, you can do that here as well. Uh, and again, there's no hiding it from you 'cause it's not like, you know, I'm gonna be super helpful and go do this thing and all that sort of stuff and go around.

  85. 14:07

    Uh, it's, you know, it's, it just has to, has to be here. Uh, one other fun thing that you can do here in the middle is, um, well you know, first we can also do like costs and cost controls and, you know, all those sorts of things that actually work across providers.

  86. 14:21

    So if you wanna set a budget or like a, like a, some sort of budget in, in Aperture, you can actually have it work across every provider. It's not like, here's $1,000 for everybody.

  87. 14:30

    It's here's just $1,000, and you can decide to use it how you wish. Um, and then the other thing is you can actually do integrations. So we offer web hooks, uh, on top of this, uh, where for each of those tool calls or for each of those things, you can actually send a request out to a third

  88. 14:44

    party, uh, to, um, uh, you know, with all of the information about the tool call. Uh, and again, there's no hiding it. It just, it has to go through here, uh, so you can, you know, these hooks are basically guaranteed to sort of exist, right, and run, uh, no matter, no matter what.

  89. 15:00

    Um, so yeah. So, so yeah, that's, that's, uh, uh, that's mostly it. If you wanna, you know, like again, if you wanna set up things like quotas, you can actually, you know, go in, say, "Hey, here's, you know, you get $5 a day," you know, all those sorts of things.

  90. 15:12

    And, um, kinda, you know, have a sort of much safe fun, [laughs] I guess you could say, as you, uh, as you, as you want to, uh, in the, you know, through the gateway.

  91. 15:20

    And again, it works with pretty much any provider that you can imagine across the board, um, that supports the major, major context. And so, you know, I kind of talked about this at the beginning, but, um, this is Aperture, right?

  92. 15:31

    This is a thing that, you know, that we have built, uh, and that you can use. Uh, it is available on our free plan. However, it is built using the Tailscale identity primitives, and those are...

  93. 15:42

    And that is all available via like a, an open source library we have called tsnet where you can write your own go program, right, that actually puts itself on the tailnet and can read all of the same identity information, can read everything else.

  94. 15:55

    Uh, and so you can do things like if you wanna build an MCP server but it's internal to your org or something along those lines or an API endpoint or something that's internal to your org, you don't have to think about OAuth or just think about opening it up to everybody.

  95. 16:09

    You can actually do the exact same thing and be like, "Hey, who made this request?" You know, I'm gonna, you know, force that into, you know, whatever, uh, you know, whatever thing I'm proxying on the, you know, on the MCP side or, or things along those lines.

  96. 16:22

    So you can actually take all of that same, uh, you know, all that same information and do it yourself. Hilariously, you can actually build Aperture yourself if you really wanted to, [laughs] uh, using the same things.

  97. 16:31

    We had a whole charge here which was, uh, it had to be built on top of Tailscale. It couldn't be built like inside w- using private API endpoints or anything along those lines.

  98. 16:40

    Uh, so this is actually built entirely in a way that, in theory, you could go build too, uh, to yourself. So, um, yeah, I'm, you know... If any ideas have come from this, if you think about, you know, things that you would like to build internally, I would love to, you know, would love to hear and would

  99. 16:54

    love to chat, chat afterwards. So yeah, I think I'm like a minute under here and, uh, yeah, so I... You know, if there is a question, I'm happy to, happy to answer it.

  100. 17:03

    Uh, yeah, yeah. [laughs]

  101. 17:04

    How do you configure the permissions?

  102. 17:06

    How do you configure the permissions for like who can a- So the question is how can you configure the per- permissions? And are you saying is it like for who can access what?

  103. 17:12

    Or who gets to s-

  104. 17:13

    Yeah. I guess like can you, you can make these tool calls and not these or...

  105. 17:17

    Yeah. So all of the, um... So we actually can let you configure them in two places. So there's, it's another fun little feature of like, uh, how Tailscale identity and how like that sort of stuff gets pushed through the network.

  106. 17:27

    First is, uh, you actually can set them up here in Grants. Uh, so you know, you can s- ask, say, who this applies to. We're gonna be adding like the groups and everything soon here as well.

  107. 17:36

    Uh, but then you can say like, uh, we actually also have an MCP server in, like an MCP proxy in here as well. So you can say model access and quotas, MCP access, hooks, roles, like, you know, kind of everything along those lines.

  108. 17:48

    Uh, you can do the grants. You can even also define those. So Tailscale as a whole has a policy file that you can, uh, that you can use. Um, it's how you define who can access what on the network.

  109. 17:59

    Uh, you can actually put this sort of, these are called applica- This right here is called like an application capability. Uh, you can actually stick that in your main ACL file or your main access control file to send along with the identity.

  110. 18:11

    So you not only can you send like- ... the user or the tags or everything else. You can actually send any arbitrary metadata that you want, uh, guaranteed by the Tailscale control plane as well.

  111. 18:21

    Um, so yeah, so we, we try to, you know, we have the visual editor, but we also ... Everything is, like, a- you're ... possible to do in JSON, just, you know, most folks, a lot of folks using this at scale are ...

  112. 18:31

    They wanna put it in some sort of GitOps workflow. So, uh, you know, we have that. We have the API as well to ... If you actually wanna, like, just, you know, put this as part of some sort of GitOps workflow that you have, um, to do that.

  113. 18:42

    Any other, any other questions? I think that was ... Yeah.

  114. 18:46

    I think I saw you for ... When you were setting up in full code, you set the base URL to your-

  115. 18:51

    Mm-hmm

  116. 18:51

    ... Aperture node rather than, like, the default-

  117. 18:54

    Yes

  118. 18:54

    ... for most devs. Is it possible to catch that just, like, at the network layer and just sub it out-

  119. 18:58

    Yeah

  120. 18:58

    ... everything that full code instead goes to your node?

  121. 19:01

    Yeah. So the question is, uh, do you have to put the base URL in, or is it possible to kind of, like, capture that at the network layer and just kind of transparent there?

  122. 19:08

    Um, that is something we could do. That was kind of a big point of discussion when we were first, you know, thinking about this, and, um, in reality it kinda ...

  123. 19:16

    It's not ... While we could, it's not really something that we, uh, um ... It's not really in the ta- I wouldn't call it the Tailscale way necessarily. The whole point here is we wanna make things, like, really, really easy.

  124. 19:28

    Like, like, for you to ... You know, you wanna be able to get, you know, LLM access in, or, you know, into a sandbox. You wanna be able to do, you know, on somebody's computer.

  125. 19:35

    We wanna make that s- like, super, super easy, [laughs] uh, from the outset. I realize, you know, there's some transparency stuff, but, you know, when you do that things can kinda start to break and shift and kind of move.

  126. 19:46

    Yeah, and it gets very confusing and moves out from under you. You know, we just wanna make it the easiest way for you to actually, you know, offer this sort of LLM access and not, uh, necessarily, you know, kind of do it hidden under the surface where you're, you're kinda doing everything else.

  127. 19:59

    So, um, it's, it's definitely meant for folks who wanna build, you know, with AI, and then on the other side, right, as, like, a security or an IT admin, it's like, great.

  128. 20:07

    You get easy-to-use controls. You get easy to, you know, like, easy to kind of ... You get to see all of the tool calls. You get to see, you know, all of those sorts of things.

  129. 20:14

    So we're really trying to do the best of, best of both worlds, uh, for, you know, both devs and the kind of, you know, IT/security, like, manager.

  130. 20:24

    Yeah.

  131. 20:25

    Can you do, like, role-based, uh ... Like, can you say, like, these users are allowed to use these tools, or is it just the model and the provider?

  132. 20:31

    Uh, so it's ... Today, it's, uh, w- we're ... Yes, we w- wanna, uh, work- working on that. And today it's model, provider. Uh, you can think of basically anything that we would put through Aperture, you should be able to say, "Hey, this group, or this, you know, as defined by my SCIM provider, as defined by, you

  133. 20:48

    know, whatever, gets access to model." Uh, it- it's not just model and provider. It's also all of the quota stuff, you know, that I kinda glossed it. That all also has the same sort of, uh, permissioning system.

  134. 21:00

    So you can say, "This team gets this big budget. You know, each individual gets this, you know, smaller budget." And then, you know, we kinda do the, you know, the union of the two there.

  135. 21:11

    Or, you know, or even do it where it's like, you know, you can use as much as you want of the internal GPU, you know, like, you know, kinda like the internal GPU endpoints that we're hosting.

  136. 21:21

    But, you know, if it's Opus 4.6, you only get, you know, you know, this amount or something along those lines.

  137. 21:27

    Yeah.

  138. 21:28

    How does permissioning work in a world where they can do tool calls, it's, it's just writing code?

  139. 21:33

    How does permissioning work in a w- world where it doesn't do tool calls, it's just writing code?

  140. 21:37

    Yeah. So I think ... Well, a lot of agents are at least somewhat moving away from MCP and tool calls and it's executing code, which, uh, actually makes much more-

  141. 21:47

    So-

  142. 21:47

    ... some network requests, but it's harder to parse-

  143. 21:49

    Yes

  144. 21:50

    ... uh, from the

  145. 21:51

    Yeah. So, uh, you know, the question, you know, in a world where people are moving away from MCP and maybe the structured tool calling, what do we, you know, what do we, you know ...

  146. 21:59

    How does it work? How does permissioning and things like that work? Uh, you're right. That is a little bit more complicated. However, it's the whole reason we chose to do this.

  147. 22:05

    We had originally thought about maybe doing this at the MCP, like, just the MCP layer. Uh, and we realized it was, like, hey, it's actually way more valuable to, you know, do the LLM, the LLM layer here.

  148. 22:16

    And this is where, you know, like, if I go to ... Well, here, we just go to the logs, and I, you know, I go again to, uh, not to the chat, but to the, you know, a given ...

  149. 22:26

    Here, let's see, the given metric. Um, you know, this is ... Right? So even with skills and everything else, write or code, you're still running a ... Like, you're typically still running something.

  150. 22:38

    Yeah.

  151. 22:38

    Uh, now of course you could write the thing, maybe obfuscate the thing, and then run the thing. Uh, you know, one step at a time, [laughs] uh, kinda, you know, kinda thing.

  152. 22:46

    Uh, um, you know, and a lot of folks, to be honest, a lot of folks that we talk to are like, "I don't even know what tools people are using.

  153. 22:51

    Like, please just tell m- Like, forget about blocking it for a second. I don't even ... Like, what are people even doing, right?" You know, it's like, 'cause MCP was all the rage, and it's like, are they using MCPs?

  154. 23:00

    Are they just using batch commands? I can tell you internally, like, this is ... Sorry, this is just our demo instance, but internally if you were to look at our actual instance, Bash dominates-

  155. 23:09

    Yeah

  156. 23:09

    ... everything else. Um, but again, we get to see the command, uh, and we typically, you know, w- we, so we get to see all the commands and, you know, and everything that's actually being run.

  157. 23:18

    Uh, and we'll be adding in more guardrails along the lines of, like, hey, you can, you know, this is the Bash command. Let's, you know, if it's RM-RF/, right? [laughs]

  158. 23:28

    Uh, maybe not. You know, or, [laughs] you know, uh, uh, you know, or something along those lines. Uh, you know, we'll be, we'll be adding that in. But that's the whole reason why we decided to do it at the LLM layer.

  159. 23:39

    Um, so yeah, we, we had that whole discussion of, like, well, and if you can't see everything, then

  160. 23:47

    how valuable is it? Right? You know, if you can't see everything. And so we wanted to be able to see, uh, um, you know, at least from particular agents that you wanna put there, you know.

  161. 23:55

    Um, yeah. Any other ... I mean, I was gonna say, I don't, you know, I don't know exactly what the time is here, but uh, um, I know we're, we're kinda at the end.

  162. 24:03

    Uh, I'm happy to answer any other questions downstairs if you wanna come to the booth or in the hall. Um, but yeah, thank you. [clapping] [outro music]