Caller-owned execution
JaGate never runs supplied commands, URLs, scripts, or callbacks. The calling application acts with its own credentials.
Run one small gateway, send decisions through Telegram, and let each client application perform its own approved action.
JaGate is a self-hosted approval service for actions such as deploying a site, publishing a post, or starting a maintenance job. Applications in any language use its HTTP API. Node.js and TypeScript applications can also use the typed client.
A gateway runs one Node.js 24 process, one SQLite database, and one Telegram bot. Each client has its own destination chat and allowlist of numeric Telegram user IDs. Read the trust and recovery guide before using approvals for consequential actions.
Client app → JaGate HTTP API → SQLite → Telegram approver
Client app ← decision + one claim ← JaGate
Client app → performs its own action → reports the resultFor a first local test, follow Get started locally. The example asks for approval before writing a harmless temporary text file. Then use the scenario guides for deployment, backup deletion, and claimed-request recovery.