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…
AI agents are now being granted real permissions, such as sending payments, sending emails, and deleting files, often with minimal governance in place. The author wanted to create a small, self-hosted tool that intercepts any proposed action and decides whether it should be allowed, blocked, or delayed for human approval. This tool is called InGravity.
To illustrate the issue, imagine an AI agent in an n8n workflow proposing a $100,000 payment without any intervening security measures. Most existing agent security tools either operate at the network level (requiring complex setup for VPN tunneling and protocol parsing) or aren't available for smaller, workflow-level automations. InGravity seeks to bridge this gap: it's simple enough for self-hosting in a short time frame, and effective enough to prevent misbehaving actions.
InGravity evaluates actions against user-defined rules and returns a decision before the action is executed. For example, a curl command can be used to check if a payment action should be blocked or allowed. The response is either 'blocked' with a risk score, or 'allowed' for the action to proceed. InGravity doesn't execute, cancel, or intercept the action itself; its role is simply to provide a clear, auditable decision.
Currently, the tool incorporates a rules engine and risk scoring API (POST /check-action), SQLite-backed history that persists across restarts, a dashboard for reviewing past decisions, and 3 prebuilt rule templates for payments, emails, and file access. Additionally, there's a custom n8n node called 'InGravity Guard' that halts workflows when actions are blocked.
There are still a few areas that need further development, such as implementing authentication on the API, adding a dry-run/simulation mode, and expanding testing of the n8n node within real-world workflows. The author emphasizes that the project is entirely open source at this stage, with the aim to demonstrate its practicality before considering any commercial aspects.
Feedback is welcomed, whether it be positive use cases or areas of improvement. The GitHub repository can be found at https://github.com/Tchesseludovic17-cloud/ingravity.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.