<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ramprasad G</title>
    <description>The latest articles on Forem by Ramprasad G (@rampy).</description>
    <link>https://forem.com/rampy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3690496%2F8ccdbd4b-71ce-4e30-b9e3-1d9329ee43af.jpg</url>
      <title>Forem: Ramprasad G</title>
      <link>https://forem.com/rampy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rampy"/>
    <language>en</language>
    <item>
      <title>Why Your AI Agent Needs a Passport</title>
      <dc:creator>Ramprasad G</dc:creator>
      <pubDate>Fri, 02 Jan 2026 22:28:03 +0000</pubDate>
      <link>https://forem.com/rampy/why-your-ai-agent-needs-a-passport-517e</link>
      <guid>https://forem.com/rampy/why-your-ai-agent-needs-a-passport-517e</guid>
      <description>&lt;p&gt;&lt;em&gt;The security gap that's about to become a crisis&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  The Problem No One's Talking About
&lt;/h3&gt;

&lt;p&gt;Your LangChain agent can read your emails. Your AutoGPT can execute code. Your AI assistant can access your bank's API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But how does your server know it's really YOUR agent making that request?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Right now, the answer is: it doesn't.&lt;/p&gt;

&lt;p&gt;Most AI agents authenticate using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔑Hardcoded API keys &lt;/li&gt;
&lt;li&gt;🤫Shared secrets &lt;/li&gt;
&lt;li&gt;😱Or nothing at all &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This worked when agents were toys. It won't work when they're managing your infrastructure.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Coming Reckoning
&lt;/h3&gt;

&lt;p&gt;Imagine this scenario:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Agent A: "Transfer $10,000 to account 12345"&lt;br&gt;
Server: "Who are you?"&lt;br&gt;
Agent A: "I'm... an agent?"&lt;br&gt;
Server: "Whose agent? Can you prove it?"&lt;br&gt;
Agent A: "..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now imagine a malicious agent impersonating yours:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Evil Agent: "Transfer $10,000 to MY account"&lt;br&gt;
Server: "Who are you?"&lt;br&gt;
Evil Agent: "I'm definitely the authorized agent, trust me bro"&lt;br&gt;
Server: "Seems legit ✓"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;This is not hypothetical. As agentic AI scales, this attack vector becomes inevitable.&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  What We Actually Need
&lt;/h3&gt;

&lt;p&gt;When a human logs into your app, they prove their identity with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Something they know (password)&lt;/li&gt;
&lt;li&gt;Something they have (phone/hardware key)&lt;/li&gt;
&lt;li&gt;Something they are (biometrics)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When an AI agent calls your API, it should prove:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WHO&lt;/strong&gt; it is (identity)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WHAT&lt;/strong&gt; it intends to do (intent)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WHEN&lt;/strong&gt; it was authorized (timestamp)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WHY&lt;/strong&gt; you should trust it (reputation)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is exactly what &lt;strong&gt;Vouch Protocol&lt;/strong&gt; does.&lt;/p&gt;




&lt;h3&gt;
  
  
  How It Works
&lt;/h3&gt;

&lt;p&gt;Vouch is conceptually simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Agent side: Sign your intent

from vouch import Signer
signer = Signer(private_key=PRIVATE_KEY, did="did:web:myagent.com")
token = signer.sign({
    "action": "transfer_funds",
    "amount": 100,
    "to": "account_123"
})

# Send token with API request
response = requests.post(API_URL, headers={"Vouch-Token": token})

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Server side: Verify identity + intent

from vouch import Verifier
valid, passport = Verifier.verify(token, public_key)
if valid:
    print(f"Agent: {passport.iss}")      # did:web:myagent.com
    print(f"Intent: {passport.payload}")  # {"action": "transfer_funds", ...}
    print(f"Reputation: {passport.reputation_score}")  # 85/100

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;That's it. Cryptographic proof of identity + intent in 10 lines of code.&lt;/p&gt;


&lt;h3&gt;
  
  
  Why Not Just Use JWT/OAuth?
&lt;/h3&gt;

&lt;p&gt;Good question. Here's the difference:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OAuth/JWT:&lt;/strong&gt;&lt;br&gt;
✅ Designed for: Humans&lt;br&gt;
❌ Identity model: Centralized (Google, Auth0)&lt;br&gt;
❌ Intent signing: No&lt;br&gt;
❌ Reputation: No&lt;br&gt;
❌ Non-repudiation: No&lt;br&gt;
❌ Agent-to-agent: Awkward&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vouch Protocol:&lt;/strong&gt;&lt;br&gt;
✅ Designed for: AI Agents&lt;br&gt;
✅ Identity model: Decentralized (DID)&lt;br&gt;
✅ Intent signing: Yes&lt;br&gt;
✅ Reputation: Built-in&lt;br&gt;
✅ Non-repudiation: Cryptographic proof&lt;br&gt;
✅ Agent-to-agent: Native&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OAuth answers:&lt;/strong&gt; "Who is this user?"&lt;br&gt;
&lt;strong&gt;Vouch answers:&lt;/strong&gt; "Who is this agent, what do they want to do, and should I trust them?"&lt;/p&gt;


&lt;h3&gt;
  
  
  The Trust Stack for AI
&lt;/h3&gt;

&lt;p&gt;Just as the internet needed HTTPS, the agentic web needs cryptographic identity.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────┐
│         Your Application            │
├─────────────────────────────────────┤
│      Vouch Protocol (Identity)      │  ← We're building this
├─────────────────────────────────────┤
│   LangChain / CrewAI / AutoGen      │
├─────────────────────────────────────┤
│         LLM (GPT-4, Claude)         │
└─────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Without this layer, every agent framework is building on sand.&lt;/p&gt;


&lt;h3&gt;
  
  
  Get Started in 2 Minutes
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install vouch-protocol
from vouch import generate_identity, Signer, Verifier
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Generate agent identity
identity = generate_identity(domain="myagent.com")
print(f"Your DID: {identity.did}")

# Sign an action
signer = Signer(identity.private_key_jwk, identity.did)
token = signer.sign({"action": "hello_world"})

# Verify it
valid, passport = Verifier.verify(token, identity.public_key_jwk)
print(f"Valid: {valid}, Agent: {passport.iss}")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What's Next
&lt;/h3&gt;

&lt;p&gt;Vouch Protocol is open source (Apache 2.0) and actively developed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔐 Ed25519 cryptographic signatures&lt;/li&gt;
&lt;li&gt;🎭 Decentralized identity (DIDs)&lt;/li&gt;
&lt;li&gt;⭐ Reputation scoring&lt;/li&gt;
&lt;li&gt;🔗 Integrations for LangChain, CrewAI, AutoGen, MCP&lt;/li&gt;
&lt;li&gt;✅ 107 tests, OpenSSF badge in progress&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: 

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/vouch-protocol" rel="noopener noreferrer"&gt;
        vouch-protocol
      &lt;/a&gt; / &lt;a href="https://github.com/vouch-protocol/vouch" rel="noopener noreferrer"&gt;
        vouch
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      The Open Standard for AI Agent Identity &amp;amp; Accountability
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Vouch Protocol&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/vouch-protocol/vouch/docs/assets/vouch-banner.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fvouch-protocol%2Fvouch%2Fdocs%2Fassets%2Fvouch-banner.png" alt="Vouch Protocol" width="400"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The Open Standard for Identity &amp;amp; Provenance of AI Agents
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://c2pa.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ef8128870b93b95002ca38d2949b5b8bf722ea715e59432b0aa80fd096450df8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f433250412d4d656d6265722d3038393162323f7374796c653d666f722d7468652d6261646765266c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423462577875637a30696148523063446f764c336433647935334d793576636d63764d6a41774d43397a646d636949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c73624430696432687064475569506a78775958526f49475139496b30784d694179517a59754e4467674d694179494459754e4467674d6941784d6e4d304c6a5134494445774944457749444577494445774c5451754e4467674d5441744d5442544d5463754e5449674d6941784d694179656b30784d43414d5464734c5455744e5341784c6a51784c5445754e44464d4d5441674d5451754d5464734e7934314f5330334c6a553554444535494468734c546b674f586f694c7a34384c334e325a7a343d" alt="C2PA Member"&gt;&lt;/a&gt;
  &lt;a href="https://contentauthenticity.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/37737df928e17d1c7f421fccd9819508932014f87f96ad7abfb78d258db5e433/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4341492d4d656d6265722d6639373331363f7374796c653d666f722d7468652d6261646765266c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423462577875637a30696148523063446f764c336433647935334d793576636d63764d6a41774d43397a646d636949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c73624430696432687064475569506a78775958526f49475139496b30784d69417854444d674e585932597a41674e5334314e53417a4c6a6730494445774c6a633049446b674d5449674e5334784e6930784c6a493249446b744e6934304e5341354c544579566a56734c546b744e4870744d4341794c6a4534624463674d7934784d6e59314c6a646a4d4341304c6a677a4c544d754d6a4d674f53347a4e693033494445774c6a5534566a4d754d5468364969382b5043397a646d632b" alt="CAI Member"&gt;&lt;/a&gt;
  &lt;a href="https://identity.foundation" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7ca804a9c893eb616ac3c4cf2d0eb0ee0c975ce2800322ecbd2565d5952ee480/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4449462d4d656d6265722d3646324441383f7374796c653d666f722d7468652d6261646765266c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423462577875637a30696148523063446f764c336433647935334d793576636d63764d6a41774d43397a646d636949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c73624430696432687064475569506a78775958526f49475139496b30784d694179517a59754e4467674d694179494459754e4467674d6941784d6e4d304c6a5134494445774944457749444577494445774c5451754e4467674d5441744d5442544d5463754e5449674d6941784d694179656d30744d6941784e5777744e533031494445754e4445744d5334304d5577784d4341784e4334784e3277334c6a55354c5463754e546c4d4d546b674f4777744f53413565694976506a777663335a6e50673d3d" alt="DIF Member"&gt;&lt;/a&gt;
  &lt;a href="https://lfaidata.foundation" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5cf951d936da275c17fad367061652c9e39592387443fbfad36af18e95ba5ead/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c696e75785f466f756e646174696f6e2d4d656d6265722d3333333333333f7374796c653d666f722d7468652d6261646765266c6f676f3d6c696e75782d666f756e646174696f6e266c6f676f436f6c6f723d7768697465" alt="Linux Foundation Member"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/vouch-protocol/vouch" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/3f07a6d89ff4fa6149f31b991af75a1faa546b1b4f3962a08287a0012d284135/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726f7465637465645f62792d566f7563685f50726f746f636f6c2d3030433835333f7374796c653d666c6174266c6162656c436f6c6f723d333333266c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423462577875637a30696148523063446f764c336433647935334d793576636d63764d6a41774d43397a646d636949485a705a58644362336739496a41674d4341794e4341794e43496764326c6b64476739496a49304969426f5a576c6e61485139496a4930496a3438634746306143426d615778735053496a4d4442444f44557a4969426b50534a4e4d5449674d6a424d4d694130614452734e6941784d433431544445344944526f4e4577784d6941794d486f694c7a34384c334e325a7a343d" alt="Protected by Vouch"&gt;&lt;/a&gt;
  &lt;a href="https://www.bestpractices.dev/projects/11688" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f16791557d0a5d04c90479d8362cfd06a6938627c58010abef48c6462b1d334/68747470733a2f2f7777772e626573747072616374696365732e6465762f70726f6a656374732f31313638382f6261646765" alt="OpenSSF Silver"&gt;&lt;/a&gt;
  &lt;a href="https://codecov.io/gh/vouch-protocol/vouch" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/f24e4ee21b5ac7dcc7394f9f44230084c1d288fa06f6156a833b5f40dafe26b1/68747470733a2f2f636f6465636f762e696f2f67682f766f7563682d70726f746f636f6c2f766f7563682f6272616e63682f6d61696e2f67726170682f62616467652e737667" alt="Code Coverage"&gt;&lt;/a&gt;
  &lt;a href="https://discord.gg/VxgYkjdph" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/dd96f08eb53d59968fc66d8073076c57763d164d070421d96ef28d551c3186a3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d4a6f696e5f436f6d6d756e6974792d3732383964613f6c6f676f3d646973636f7264266c6f676f436f6c6f723d7768697465" alt="Discord"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/vouch-protocol/vouch/blob/main/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5b60841bea9e11d9d0b0950d690c9bc554e06385634056a7d5d62a15d1a4eabe/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4170616368655f322e302d626c75652e737667" alt="Apache 2.0 License"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;⚡ Quick Start&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;pip install vouch-protocol

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; One command to configure SSH signing + Vouch branding&lt;/span&gt;
vouch git init

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; All future commits are now signed and show ✅ Verified on GitHub&lt;/span&gt;
git commit -m &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;Secure commit&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Open Standard for AI Agent Identity &amp;amp; Accountability&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When Anthropic launched MCP, they solved "how agents call tools."&lt;br&gt;
They didn't solve "how we TRUST those agents."&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vouch Protocol is the SSL certificate for AI agents.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/vouch-protocol/vouch/blob/main/docs/vouch_guide.md" rel="noopener noreferrer"&gt;Read the spec →&lt;/a&gt; | &lt;a href="https://discord.gg/VxgYkjdph" rel="nofollow noopener noreferrer"&gt;Join Discord →&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Problem&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;AI agents are making real-world API calls with &lt;strong&gt;ZERO cryptographic proof&lt;/strong&gt; of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WHO&lt;/strong&gt; they are&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WHAT&lt;/strong&gt; they intended to do&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WHEN&lt;/strong&gt; they did it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Examples of the risk:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Healthcare AI accesses patient data → HIPAA violation risk&lt;/li&gt;
&lt;li&gt;Financial AI makes unauthorized trades → Liability nightmare&lt;/li&gt;
&lt;li&gt;Customer service AI leaks data → Compliance failure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/vouch-protocol/vouch" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;





&lt;p&gt;&lt;a href="//pypi.org/project/vouch-protocol/"&gt;Check out the PyPI package&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://discord.gg/VxgYkjdph" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Join the Discord community&lt;/a&gt;
  &lt;/p&gt;




&lt;h3&gt;
  
  
  The Bottom Line
&lt;/h3&gt;

&lt;p&gt;The question isn't if AI agents will need cryptographic identity.&lt;br&gt;
It's whether you'll build it yourself, wait for a breach to force the issue, or adopt a standard now.&lt;br&gt;
&lt;strong&gt;Vouch Protocol is that standard.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://www.linkedin.com/in/rampy/" rel="noopener noreferrer"&gt;Ramprasad G&lt;/a&gt; is building Vouch Protocol, the identity and reputation layer for AI agents. Follow &lt;a href="https://x.com/rampyg" rel="noopener noreferrer"&gt;@rampyg&lt;/a&gt; and &lt;a href="https://x.com/Vouch_Protocol" rel="noopener noreferrer"&gt;@Vouch_Protocol&lt;/a&gt; for updates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>security</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
