{
  "video": {
    "id": "JvKO40CFq-s",
    "title": "Full Workshop: Better Auth — Paola Estefania, Better Auth",
    "duration": 2456,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": "In person"
  },
  "analysis": {
    "video_id": "JvKO40CFq-s",
    "title": "Full Workshop: Better Auth — Paola Estefania, Better Auth",
    "one_liner": "The Better Auth team's pitch for an open \"agent auth\" protocol that stops agents impersonating you with your credentials and instead gives each agent its own identity, its own private key, fine-grained capabilities and a revocable audit trail — demoed live through an MCP server that reads and sends Gmail on the speaker's behalf.",
    "summary": "Paola Estefania argues that today's pattern — handing an agent your Gmail token or personal MCP connection — is \"like we are doing the CEO credentials\": the agent acts on your behalf while pretending to be you, so nothing can be scoped, traced or fired individually. She frames three problems (discovery: how does an agent find out what it can do; authorization: how do you grant it only specific actions; identity: who is this agent) and shows the draft protocol's answers: a well-known agent-configuration endpoint modelled on OIDC, a directory that acts as a \"phone book\" mapping intent to capabilities (bootstrapped by translating existing OpenAPI specs into capabilities), and a per-agent private key that lets the agent mint and sign its own tokens. The live demo connects Claude to the protocol's MCP server, reads an email with a read-only grant, escalates to send an email via an approval prompt, shows the per-agent logs, then revokes the agent mid-conversation.",
    "key_points": [
      "The core reframing: agents should be given authority, not credentials — the hiring analogy, where a new employee gets their own account rather than the CEO's login, and can be audited and fired.",
      "Three named problems, one protocol: discovery (how an agent learns what a service can do), authorization (scoping down to specific actions), and identity (who the agent is, so it can be traced and revoked).",
      "Capabilities replace scopes: a scope like \"read\" is \"nothing so specific\", while a capability names a concrete action, so gets, posts and deletes can each be granted or withheld.",
      "Discovery uses a well-known agent-configuration endpoint, explicitly modelled on OIDC's well-known document, plus a directory that matches an agent's intent to capabilities — \"a phone directory for the agent\".",
      "Because almost no service speaks the protocol yet, the interim bridge translates a service's OpenAPI JSON into capabilities; the demo tried OpenAI's spec, fell back to Notion's, and the Gmail directory entry lists about 20 capabilities.",
      "Identity is a private key per agent: the agent signs and mints its own tokens, so a service's log records \"an agent from Cursor\" or \"an agent from Claude\" acting for a user rather than just the user — the agent becomes the principal actor instead of hiding behind the user.",
      "A new \"host\" concept covers where the agent was created; hosts have default capabilities (read/list only, \"so it wouldn't mess up your inbox\") and the host itself can be deauthorized alongside the agent.",
      "Live demo: read the last email under a device-flow approval for an agent named \"email reader\"; send an email triggered a client-initiated backchannel authorization prompt; the logs showed agent ID, host, user ID and result; revoking the agent killed the connection mid-conversation.",
      "Status and scope: the V1 draft plus a Better Auth agent plugin (server side verifies agents and issues grants, SDK side mints keys, shipped with an MCP server) went out in February; a V2 draft is in progress for long-lived agents and enterprise policies, and the project is open source with a Discord.",
      "The speaker rejects a proxy design — \"proxy is a really bad idea, it's not scalable because proxy uses data\" — so the component is a directory matching intent to capabilities, not a data path; she also distinguishes this from AI gateways, which don't give each agent its own identity."
    ],
    "takeaways": [
      "Stop connecting agents with your own personal token or full-access MCP connection; issue the agent its own identity and grant it named capabilities per tool instead of a blanket read scope.",
      "Design for revocation and audit from the start: log which agent, from which host, did what for which user, and make sure revoking one agent doesn't mean tearing down the whole integration.",
      "Default hosts to safe, read-only capabilities and escalate interactively only for write actions — \"be safe but not annoying\", because approving every read will make users hate you.",
      "If you run a service, you can bootstrap capabilities today from your existing OpenAPI spec rather than waiting for the protocol to be adopted.",
      "Put constraints — maximum execution time, per-action limits — into the capability grant rather than trusting the agent's prompt or skill configuration."
    ],
    "topics": [
      "agents",
      "agent-security",
      "identity",
      "oauth",
      "mcp",
      "authorization",
      "capabilities",
      "audit-logs"
    ],
    "tools": [
      "Better Auth",
      "MCP",
      "Claude",
      "Cursor",
      "Gmail",
      "Notion",
      "OpenAI",
      "OpenAPI spec",
      "OIDC",
      "OAuth device flow",
      "client-initiated backchannel authorization",
      "Discord",
      "AI gateways"
    ],
    "quotes": [
      {
        "text": "We're actually doing like the agent is acting on behalf of us but pretending to be us.",
        "at": "01:56",
        "url": "https://www.youtube.com/watch?v=JvKO40CFq-s&t=116s"
      },
      {
        "text": "It's like we are doing like the CEO credentials, right? You never say like, okay, this is the credentials of CEO, go and read the email.",
        "at": "03:26",
        "url": "https://www.youtube.com/watch?v=JvKO40CFq-s&t=206s"
      },
      {
        "text": "We stop seeing as an agent is like hiding behind the user and now the agent is there as a principal acting.",
        "at": "18:43",
        "url": "https://www.youtube.com/watch?v=JvKO40CFq-s&t=1123s"
      },
      {
        "text": "we need to stop giving credentials our credentials to our agents we need to give them authority this should we stop saying like pretend to be me instead of saying like act for me within these limits.",
        "at": "37:08",
        "url": "https://www.youtube.com/watch?v=JvKO40CFq-s&t=2228s"
      }
    ],
    "words": 6500
  },
  "summary_url": "/#JvKO40CFq-s",
  "transcript": {
    "html": "/transcripts/JvKO40CFq-s.html",
    "txt": "/transcripts/JvKO40CFq-s.txt",
    "vtt": "/transcripts/JvKO40CFq-s.vtt"
  }
}