đ âOAuth was built for humans authorizing apps. AI agents donât have a security layer today â they can act unpredictably. Weâre building a âsecurity broker for AI agentsâ that gives humans real-time control and visibility into agent actions.â
In AI, we call it Human in the Loop situation, Read more about Human in the loop (HITL) in AI
Think of it like a âJust-in-Time AI Agent Access Gatewayâ.
- Whenever an AI agent wants to perform a sensitive action (read a file, send an email, modify a calendar event, move money, etc.), it goes through your system.
- Your system holds the policy + approvals (like a proxy between the AI and resources).
- You, the human, are âin the loopâ via real-time approval prompts â on mobile, web, or desktop.
-
Policy Engine
- Rules that define what needs approval and what doesnât.
- Example: âAI can read my calendar without asking, but must ask before sending an invite.â
-
Action Interceptor
- Like a middleware layer between AI and APIs/resources.
- Every action is logged and routed through your service.
-
Human-in-the-Loop Notifier
- Mobile app / push notification: âYour AI agent wants to open
personal/tax2024.pdf. Approve or deny?â - You can add contextual info: why the AI is requesting it (explainable AI bit).
- Mobile app / push notification: âYour AI agent wants to open
-
Audit Trail / Logs
- Keeps a tamper-proof record of all agent requests, approvals, denials.
- AI Agent â âNeed access to
resume.docxâ - Gateway intercepts â Pushes prompt to userâs mobile.
- User taps Approve â Agent continues.
- User taps Reject â Agent gets a âdeniedâ error.
You donât need to build the full infra. For a hackathon, show:
- A simple mock AI agent (say, a script that tries to read a Google Drive file).
- Your gateway service (middleware that intercepts and requires approval).
- A mobile/web app UI where the user gets notified and approves/denies.
- Bonus: Add simple policies like âauto-approve access to /public, always prompt for /private.â
+-----------------------------+
| User Mobile App |
| (Approve / Reject prompt) |
+-------------+---------------+
|
v
+-----------------------------+
| Control Gateway Service |
| - AuthN / AuthZ |
| - Policy Engine |
| - Request Queue |
| - Audit / Logging |
+------+------+---------------+
| |
| v
| +-------------------+
| | Notification Svc |
| | (push/email/etc.) |
| +-------------------+
|
v
+-----------------------------+
| AI Agent Interceptor |
| (Middleware SDK / Proxy) |
+-------------+---------------+
|
v
+-----------------------------+
| Resource APIs/Files |
| (Drive, Mail, DB, Cloud FS) |
+-----------------------------+
-
AI Agent Interceptor (SDK or Proxy)
- Wraps the AI agentâs API calls (file read, send email, etc.).
- Every âsensitive actionâ is routed to the Control Gateway first.
- Could be an SDK the agent uses, or a network proxy.
-
Control Gateway Service
- AuthN / AuthZ: Identifies which agent is requesting what, on behalf of which user.
- Policy Engine: Checks pre-defined rules (e.g., auto-allow reading calendar, but prompt for files in
/confidential). - Request Queue: Stores pending approval requests.
- Audit Logs: Immutable log for every attempted action.
-
Notification Service
- Pushes real-time approval requests to the userâs mobile app/web.
- Could use Firebase Cloud Messaging, Apple Push Notification Service, or WebSockets.
-
User Mobile/Web App
-
Shows contextual info:
- âAI agent X wants to read
tax2024.pdfbecause: [agentâs reasoning/explanation].â
- âAI agent X wants to read
-
User taps Approve/Reject â sends response back to Gateway.
-
-
Resource APIs/Files
- Once approved, Gateway releases a signed access token (like OAuth-style short-lived credential) to the agent to complete the action.
- If rejected, the agent gets a denial response.
- Agent: Simple Python script pretending to read a Google Drive file.
- Gateway: Node.js/Express or Flask service with in-memory queue + SQLite for audit logs.
- Notification: Firebase push notifications.
- User App: Very lightweight React web app or mobile app (Expo/React Native).
- Policy Engine: Hardcoded JSON rules (
/public= auto,/private= require approval).
