DEV Community

Tchesse Emmanuel
Tchesse Emmanuel

Posted on

I built an open-source "approval gate" for AI agents — here's why

AI agents are increasingly given real permissions — sending payments,
emails, deleting files — often with little to no governance layer in
between. I wanted a small, self-hosted tool that sits in front of any
agent and decides whether a proposed action should go through, get
blocked, or wait for a human to approve it.

That's what InGravity is.

The problem

Picture this: an AI agent in your n8n workflow proposes a $100,000
payment. Without anything in the way, the workflow might just submit
it. Most "agent security" tools today either work at the network level
(VPN tunneling, protocol parsing — powerful, but heavy to set up) or
don't exist at all for smaller, workflow-level automations.

I wanted something in between: simple enough to self-host in minutes,
specific enough to actually stop a bad action before it happens.

What InGravity does

InGravity evaluates an action against rules you configure, and returns
a decision — before the action runs.

Example:

\bash
curl -X POST http://localhost:8080/check-action \
-H 'Content-Type: application/json' \
-d '{"action_type":"payment","amount":100000,"metadata":{"order_id":"order-123"}}'
\
\

Response: blocked\, risk score 100\. The caller decides what to do
next — InGravity doesn't execute, cancel, or intercept anything itself;
it just gives you a clear, auditable answer.

What's actually working today (being honest)

  • A rules engine + risk scoring API (POST /check-action\)
  • SQLite-backed history, persisted across restarts
  • A dashboard to view past decisions and manually approve/block pending actions
  • 3 prebuilt rule templates (payments, emails, file access)
  • A custom n8n node (InGravity Guard\) that stops a workflow when an action is blocked

What's NOT done yet

  • No authentication on the API yet (don't expose it to untrusted networks — self-host only for now)
  • No dry-run / simulation mode
  • The n8n node is tested with simulated responses; real-workflow testing is in progress

I'd rather tell you this upfront than have you discover it the hard way.

Why open source

I want to prove this is actually useful before thinking about anything
commercial. If you're building with AI agents and this solves a real
problem for you, I'd genuinely like to know — and if it doesn't, I'd
like to know that too.

GitHub: https://github.com/Tchesseludovic17-cloud/ingravity

Top comments (0)