# Introducing QueryProxy

> An open-source, self-hosted portal that puts an approval in front of every production query — without handing out credentials.

- Published: 2026-09-07
- Tags: announcement, release
- Source: https://queryproxy.com/en/blog/introducing-queryproxy/
- Language: en-US
- Author: Muhammet ŞAFAK

---
Every engineering team eventually has this conversation: a developer needs
production data to debug something real, and the only ways in are handing over
credentials, opening a tunnel, or a DBA running queries on other people's
behalf all day. All three are bad — the first is how incidents happen, the last
two don't scale.

**QueryProxy** is our answer: a self-hosted portal that sits between your team
and your databases, replacing shared passwords with a workflow.

## How it works

1. A developer writes SQL in a guarded editor, against a connection a DBA
   granted them. Credentials stay in an AES-256-encrypted vault.
2. Before the request is even submitted, the SQL is parsed and inspected:
   `UPDATE`/`DELETE` without a `WHERE` is rejected, `SELECT` without a `LIMIT`
   gets one injected (default 1000, hard cap 10000), and administrative
   statements are blocked outright.
3. A DBA approves or rejects — from the web queue, or straight from Slack with
   interactive buttons. Every chat callback is HMAC-SHA256-verified with replay
   protection, and nobody can approve their own request.
4. A queue worker executes the query asynchronously, streaming results
   row-by-row through masking rules — PII is masked *before* it touches disk —
   and writing every step to an immutable audit log.

## What ships today

- Teams with Admin / DBA / Developer / Auditor roles and hard isolation
- PostgreSQL, MySQL, MariaDB, SQL Server and SQLite targets
- SQL guards enforced by parsing, not pattern-matching
- Slack interactive approvals and a Teams HMAC action endpoint
- Column-pattern and content-regex data masking (full / partial / hash)
- Streaming NDJSON results, CSV export, automatic retention pruning
- An immutable, filterable, exportable audit log

## Try it in two minutes

```bash
git clone https://github.com/QueryProxy/QueryProxy.git
cd QueryProxy
docker compose up
```

Open `http://localhost:8000` — a demo team with every role is seeded on first
boot. The [documentation](/en/docs/) covers everything from
[quick start](/en/docs/quickstart/) to
[Slack setup](/en/docs/slack-integration/) and the exact
[guard rules](/en/docs/sql-guards/).

QueryProxy is free and open source under AGPL-3.0. Star it, fork it, run it
tonight — and if you find something sharp, the
[issue tracker](https://github.com/QueryProxy/QueryProxy/issues) and
[security policy](https://github.com/QueryProxy/QueryProxy/blob/main/SECURITY.md)
are waiting.
