# QueryProxy

> A self-hosted database access control and query approval system — developers submit SQL, a DBA approves it, and results come back masked and audited.

- Status: Self-hosted · Docker or PHP 8.3+
- License: AGPL-3.0
- Home: queryproxy.com
- Updated: 2026-09-15
- Source: https://tignex.com/projects/queryproxy/
- Language: en-US
- Author: Muhammet Şafak

---

Production data access, without production credentials.

## The problem

Developers need production data, and the ways they get it are all bad: a shared password, a personal account with more rights than anyone remembers granting, or a tunnel opened for one incident and never closed. The credential outlives the reason it was issued, and nobody can say afterwards which query actually ran.

## The approach

QueryProxy puts a workflow where the credential used to be. A developer writes SQL in a guarded editor; an AST parser inspects the statement before anyone looks at it; a DBA approves or rejects it from the web interface or straight from Slack or Teams; the approved query then runs asynchronously and the result comes back masked and recorded.

It runs on your own infrastructure — Docker or a PHP 8.3+ server — in front of PostgreSQL, MySQL, MariaDB, SQL Server or SQLite. The database keeps its credentials; the people keep their work.

## What it is not

It is not a bastion host and not a VPN replacement. Those control who can reach the database; QueryProxy reads the query itself, which is the part that decides whether the access was safe.

## Links

- [Project site](https://queryproxy.com)
- [Repository](https://github.com/QueryProxy/QueryProxy)
- [Documentation](https://queryproxy.com/docs/)
