Security for the Autonomous Era: AgentGate is a real-time security firewall, command center, and approval hub for autonomous AI agents. Intercept, evaluate, and control high-risk agent actions before they execute in the real world.
- π Production App: https://agentgate-henna.vercel.app
- βοΈ Vercel Console: https://vercel.com/meia/agentgate
As autonomous AI agents (powered by LangChain, AutoGPT, CrewAI, or custom LLM loops) gain access to real-world APIs, databases, and financial endpoints, the risk of unmonitored actions increases exponentially.
AgentGate acts as an inline security gateway between your AI agents and external tools:
- Interception: Agents submit proposed actions to AgentGate before executing them.
- AI Evaluation: Built-in Sentry AI Evaluators stream risk assessments and determine whether an action is safe or high-risk.
- Human-in-the-Loop: High-risk actions are paused and routed to an interactive Approval Queue for human verification.
- Audit Trail: Every attempt, risk score, approval, and rejection is recorded in immutable database logs.
flowchart TD
subgraph Autonomous Environment
A[Python / LangChain / CrewAI Agent]
end
subgraph AgentGate Security Platform
B[Supabase Edge Function: submit-proposal]
C{Sentry AI Evaluator}
D[Approval Queue Dashboard]
E[(Supabase Database: audit_log)]
F[Supabase Edge Function: tool-executor]
end
subgraph External Systems
G[REST APIs / Databases / SendGrid / Stripe]
end
A -->|1. Submit Proposed Action| B
B -->|2. Stream Action Context| C
C -->|Auto-Approved: Low Risk| F
C -->|High Risk Flagged| D
B -->|3. Log Decision Request| E
D -->|4. Human Manager Approves / Rejects| E
F -->|5. Safe Execution| G
- π‘οΈ Real-Time Action Interception: Intercept dangerous actions (e.g. mass marketing blasts, budget changes, schema alterations) before execution.
- π§ Sentry AI Risk Evaluator: Server-sent events (SSE) stream step-by-step reasoning from evaluator LLMs analyzing action risk.
- π¦ Human Approval Queue: Clean, intuitive interface for security admins to review risk justifications, inspect parameters, and approve or reject pending requests.
- π Analytics Dashboard: Real-time stats on total active agents, pending proposals, trust scores, and system health metrics.
- π€ AI Agent Builder & Wizard: Prompt-based generator that crafts custom agent specifications, system prompts, and security policies.
- π Tools & Data Sources Registry: Manage REST read/write tools, database connections, and Bright Data zone configurations.
- π Comprehensive Audit Logging: Filterable, immutable ledger of all agent activities and human interventions.
- π Python SDK & API Integration: Simple REST endpoint integration compatible with any Python LLM framework.
- Framework: React 18 + Vite 7
- Language: TypeScript
- Styling: Tailwind CSS v4 (Vanilla CSS tokens & Glassmorphism design system)
- Routing: React Router v7
- Animations: Framer Motion
- Icons: Lucide React
- Charts: Recharts
- Database: Supabase PostgreSQL with Row Level Security (RLS)
- Serverless Functions: Supabase Edge Functions (Deno / TypeScript)
- AI Provider Integrations: AIML API / OpenAI / Anthropic compatible endpoints
AgentGate/
βββ index.html # HTML Entry point
βββ package.json # Frontend dependencies & scripts
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite build configuration
βββ vercel.json # Vercel SPA routing rules
βββ .vercelignore # Vercel deployment exclusions
βββ demo_agent.py # Python SDK integration test script
βββ requirements.txt # Python dependencies for demo script
βββ public/ # Static assets & icons
βββ src/
β βββ App.tsx # Client router & navigation structure
β βββ main.tsx # React entry point
β βββ index.css # Master Tailwind & glassmorphism theme
β βββ components/ # Core UI components & step wizards
β βββ context/ # Application context providers
β βββ constants/ # Global configuration constants
β βββ lib/ # Supabase client & Edge Function helpers
β βββ pages/ # Application views
β βββ LandingPage.tsx # High-impact Hero landing page
β βββ Dashboard.tsx # Command Center dashboard
β βββ ApprovalQueue.tsx # Human approval management
β βββ AuditLog.tsx # Immutable decision logs
β βββ Agents.tsx # Active agent list & trust scores
β βββ BuilderAgents.tsx # Agent builder hub
β βββ AgentBuilderWizard.tsx # Multi-step agent setup
β βββ AgentDetail.tsx # Single agent breakdown & telemetry
β βββ BuilderTools.tsx # Tool integration registry
β βββ BuilderDataSources.tsx # Data source connections
βββ supabase/
βββ migrations/ # Database schema definition files
βββ functions/ # Serverless Edge Functions
βββ build-agent/ # AI-assisted agent prompt generator
βββ generate-proposal/ # Mock proposal generator for testing
βββ resolve-approval/ # Approval status update handler
βββ run-agent/ # Agent execution loop
βββ sentry-orchestrator/ # Multi-agent AI risk evaluation stream
βββ submit-proposal/ # External agent action interception endpoint
βββ tool-executor/ # Controlled REST tool runner
- Node.js: v18.0.0 or higher
- npm: v9.0.0 or higher
- Python: 3.9+ (optional, for running
demo_agent.py)
# Clone the repository
git clone https://github.com/ranazain9/AgentGate.git
cd AgentGate/AgentGate
# Install dependencies
npm installCreate a .env file in the project root based on .env.example:
VITE_SUPABASE_URL=https://<your-supabase-ref>.supabase.co
VITE_SUPABASE_ANON_KEY=<your-supabase-anon-key>npm run devOpen http://localhost:5173 in your browser to launch AgentGate.
npm run buildThe output bundle will be generated inside the dist/ directory.
Autonomous agents can request permission from AgentGate via a simple HTTP POST request:
import requests
AGENTGATE_WEBHOOK = "https://<your-supabase-ref>.supabase.co/functions/v1/submit-proposal"
API_KEY = "your-agent-api-key"
response = requests.post(
AGENTGATE_WEBHOOK,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"agentName": "marketing-agent",
"action": "Execute 50% discount blast to 850,000 users via SendGrid API",
"riskJustification": "Boost Q3 sales despite exceeding daily promo limit of $500"
}
)
result = response.json()
if result.get("status") == "APPROVED":
print("β
Auto-approved by Sentry AI! Executing action...")
elif result.get("status") == "PENDING_APPROVAL":
print("β³ High risk detected! Action routed to AgentGate Approval Queue.")Run the provided demonstration script:
pip install -r requirements.txt
python demo_agent.pynpx vercel --prod- Import your GitHub repository (
ranazain9/AgentGate) in Vercel. - Set Root Directory to
AgentGate(if deploying from a nested folder). - Configure the required Environment Variables:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
- Click Deploy.
This project was built for the AI Factory Hackathon presented by lablab.ai.
Distributed under the MIT License. See LICENSE for more information.