This document answers the most common questions about prod-guard, its purpose, behavior, licensing model, and how it compares to existing solutions.
prod-guard is a startup-time production readiness validation framework for Spring Boot applications.
It detects common misconfigurations, risky defaults, and production anti-patterns before the application begins serving traffic.
Unlike monitoring tools, prod-guard focuses on prevention, not observation.
No.
prod-guard is not:
It complements those tools by ensuring the application is correctly configured before startup.
Exactly once, during application startup.
After startup completes, prod-guard has zero runtime overhead.
It can, but only if you want it to.
Blocking behavior depends on:
prodguard.report-only configurationThis allows gradual adoption without breaking existing systems.
Yes.
By default, prod-guard runs only when a production profile is active
(prod or production).
To force execution in other environments:
prodguard:
force: true
This is commonly used in CI pipelines and staging environments.
Yes.
Any check can be:
Example:
prodguard:
severity:
PG-011: DISABLED
PG-012: WARN
prod-guard offers two tiers:
FREE checks work without any license.
prod-guard uses offline, cryptographically signed licenses.
A license is verified locally at startup using an embedded public key.
The application continues to start normally.
An expired license is treated as invalid.
No application functionality is blocked.
No. Never.
prod-guard does not:
This is a deliberate architectural decision.
Licenses are signed using Ed25519 asymmetric cryptography.
Monitoring tools:
prod-guard:
Static analysis:
prod-guard:
Yes.
prod-guard is designed for:
Yes.
The check catalog is expected to grow, especially in: