Capability-Based Security Framework for the JVM
jGuard enables JVM applications to execute untrusted code (e.g., plugins, extensions, and embedded automation) with explicit, least-privilege access controls.
Built for JDK 21+ in the post-SecurityManager era.
security module com.example.myapp {
entitle com.example.myapp.http.. to network.outbound;
entitle com.example.myapp.io.. to fs.read(data, "**");
entitle com.example.myapp.. to threads.create;
}
plugins {
id "io.jguard.policy" version "0.2.0"
}./gradlew runWithAgent| Documentation | Getting started, policy reference, tutorials |
| GitHub | Source code and issues |
| Maven Central | Released artifacts |
| Gradle Plugin | Build integration |
We welcome contributions! Please read our community guidelines:
- Contributing Guide - How to contribute code and documentation
- Code of Conduct - Expected behavior and community standards
- Governance - Project decision-making process
- Security Policy - How to report vulnerabilities
Apache 2.0