Null Safety
Mathematical lattice-based forward dataflow analysis. Proves every property access is safe — no nil panics, no undefined crashes.
Go panics. TypeScript
undefined is not a function. Same lattice-based dataflow engine catches
both — with transparent dataflow states and configurable models, calibrated with statistical rigor.
Same Engine, Both Languages
GoGuard catches the same categories of errors in Go and TypeScript because both languages share the same Rust-based dataflow analysis core.
What's Inside
Each domain uses lattice-based forward dataflow analysis. Same mathematical framework, two language frontends.
Mathematical lattice-based forward dataflow analysis. Proves every property access is safe — no nil panics, no undefined crashes.
Every error must be handled. Every promise must be caught. No silent swallowing with blank identifiers or empty catch blocks.
Forward taint propagation from untrusted sources to dangerous sinks. SQLi, XSS, command injection, path traversal.
Finite state machine tracking for critical resources. Files, sockets, streams, event listeners — opened→closed, guaranteed.
Validates interface implementations and discriminated union switches. Every case is covered, every path is managed.
Detects shared mutable access without synchronization, goroutine leaks, dead channels, and worker thread safety violations.
Architecture
Go uses a bridge process with FlatBuffers IPC. TypeScript uses OXC — a pure Rust parser running in-process. Both feed the same analysis core.
How We Know We're Right
Every confidence score is calibrated from a labeled corpus of real-world diagnostics. Not invented. Not a heuristic. Measured, with 95% bootstrap confidence intervals.
Diagnostics from real codebases are labeled as TP/FP. Humans, LLM consensus, and agents — tracked by trust tiers.
Labels weighted by trust tier are fed into the calibration model. Confidence scores are fitted to empirical precision curves.
Every release is gated by
goguard eval --gate.
If precision or recall regresses, the release is blocked.
Built for AI Agents
GoGuard's built-in MCP server exposes 12 tools — analyze, explain, fix, verify, teach — so your AI agent works with mathematical certainty, not LLM guessing.
# Full setup in two commands $ goguard init # config + agent guidance + AGENTS.md $ goguard setup cursor # prints MCP config