π‘οΈ AutoGov
September 13, 2026 Β· View on GitHub
π‘οΈ AutoGov
Control plane for shadow automation β find the unmanaged n8n instances leaking access to your production systems
Employees spin up self-hosted n8n in Docker on laptops and servers, wire in live credentials to 1C / CRM / databases / payment APIs, and run workflows without security's knowledge. Existing Shadow-IT tools see SaaS/OAuth β they do not see locally-deployed automations. AutoGov does.
find β document β protect β heal
Quick start Β· Usage guide Β· Architecture Β· Go-to-market Β· Π ΡΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ
The dashboard (UI available in English and Russian): risk-scored findings with plain-language explanations, the βinstance β credentials β target systemsβ access map, and sensor inventory.
Why AutoGov
- π Sees what others miss. SaaS-discovery tools (Defender for Cloud Apps,
Nudge, Auvik) find OAuth apps. EDRs inventory processes. Neither maps a
shadow
localhost:5678n8n instance to the 1C and payment systems it can reach. AutoGov builds exactly that graph. - π§ Access map, not just an inventory. For every unmanaged instance: which credentials β which production systems, with a numeric risk score, a Critical/High/Medium/Low category, and a human-readable βwhyβ for the CISO report.
- π Privacy by design. The agent records the fact a secret exists β its name, type and target β but never reads or transmits the value (only a SHA-256 fingerprint). No field in the data model can hold a secret or PII.
- π°πΏ On-prem / in-country by default. In on-prem mode all external egress (including external LLMs) is refused β no cross-border transfer (Kazakhstan Law No. 94-V). Fully air-gappable: no external dependencies.
- π§© Platform, not a monolith. A universal core (agent + control plane + data model + event bus); M1 Discovery is the first vertical slice, M2βM4 plug in as modules without touching the core β proven by tests.
- π Secure by construction. Outbound-only agent (no listening ports), mTLS, read-only Docker socket, RBAC + audit log, and signed release artifacts the agent verifies at startup (fail-closed).
How detection works (multi-signal, low false positives)
The agent detects n8n by a combination of signals β never one β to keep false positives low:
| Signal | What it inspects |
|---|---|
| π³ Docker | n8nio/n8n images, port 5678, N8N_* env, linked postgres/redis (queue mode) β via read-only socket |
| βοΈ Processes | Node.js n8n signatures, Python runners/schedulers in /proc |
| π Network | HTTP fingerprint: /rest + /api/v1/docs + /healthz uniquely identify n8n |
| π Filesystem | ~/.n8n, docker-compose.yml with n8n, .env referencing N8N_ENCRYPTION_KEY |
| β° Schedulers | cron entries and systemd timers launching automation runners |
Legitimate (IT-sanctioned) instances go on a whitelist so the product doesn't cry wolf on CI/CD containers β a first-release requirement, not a βlaterβ.
π Quick start (2 minutes)
Requires Docker with the Compose plugin.
git clone https://github.com/oleg-vdv/AutoGov.git
cd AutoGov/deploy
docker compose up --build
This brings up the control plane, an intentionally shadow n8n instance, and
an agent. Open http://localhost:8443, log in with token dev-admin. Within
~30 s the agent discovers the n8n instance, builds the access map, and shows
risk-scored findings.
Demo uses HTTP and dev tokens β local evaluation only. For a pilot, enable TLS/mTLS, replace tokens, and keep
mode: onprem. See the usage guide.
Build from source
make build # β bin/agent, bin/controlplane, bin/autogov-sign
make test
Pure Go standard library β no external dependencies (auditable agent, air-gapped installs).
Components
| Path | Purpose |
|---|---|
cmd/controlplane | Central server: ingest, API, UI, modules |
cmd/agent | Host sensor (outbound-only), collectors + disk spool |
cmd/autogov-sign | Release signing (ed25519) + integrity verification |
internal/modules | Module Runtime + discovery (M1) and M2βM4 plugin stubs |
internal/risk | Risk scoring with local (no-LLM) explanations |
internal/agent/sanitize | Privacy guard: secret values never leave the host |
internal/notify | Notifiers (syslog/CEF, webhook, email) + on-prem egress guard |
Roadmap
- Stage 1 β M1 Discovery for n8n (MVP, pilot-ready)
- Stage 2 β generic automations (Make agents, scripts), Windows agent, more SIEM
- Stage 3 β M2 HoneyNodes (contract + stub already in place)
- Stage 4 β M3 Self-healing / M4 Autodoc (contracts + stubs already in place)
Business & positioning
AutoGov follows an open-core model: the agent and platform core are open (auditability removes the adoption barrier for a privileged sensor); paid modules M2βM4 are the up-sell. Full ICP, value-by-role, competitive moat and a 90-day validation plan are in docs/GO_TO_MARKET.md.
Contributing & security
See CONTRIBUTING.md and SECURITY.md. The privacy invariant is non-negotiable: a change that makes the agent transmit secret values will not be merged.
License
AGPL-3.0-or-later β see LICENSE.
- Scan your own estate, change the code, run it wherever you like β freely.
- Ship it inside a product or a service you sell β an MSSP offering, a security platform, a hosted scanner β and the AGPL obliges you to release the source of that product under the same terms.
- If that does not work for you, a commercial licence removes the obligation: see COMMERCIAL.md.
Releases up to and including the last Apache-2.0 tag stay under Apache-2.0 β nothing already published is taken back. The change applies from here onward, and the copyright is held by a single author.