Community Edition
Free and EUPL 1.2 — everything you need to build and secure an application. The Community Edition is complete on its own: not time-limited, not feature-gated, not nagware. Read the source, run it, fork it.
Core and three adapters
A framework-neutral jCustos-core with pluggable authentication, role and permission authorization, deny-by-default, a Policy API and an audit pipeline — wired through Java SPI. One core, three adapters: Vaadin, REST and Standalone.
Identity and tokens
A full OIDC relying-party stack with six vendor profiles (Keycloak, Entra, Auth0, Okta, Google, GitHub), OAuth2 flows, JWT validation, DPoP sender-constrained tokens and declarative token propagation.
Credentials and persistence
Argon2id password hashing (plus PBKDF2 / bcrypt / scrypt), breached-password checks, brute-force protection and session policy — with store-agnostic persistence and an Eclipse-Store reference implementation.
Signed security event bus
Typed security events in Ed25519-signed envelopes with replay protection and per-producer sequencing. Audit becomes a consumer. The event bus is free; only the Enterprise exporters over it are commercial.
DX and compile-time tooling
A typed fluent bootstrap, secret-free diagnostics, a /health runtime API and the dependency-free compile-time @Secured method-security processor — a developer experience that fails the build, not the request.
Testkits and demos
Four testkits and 15 runnable demos — Vaadin in-JVM, REST + CLI, two-tier Vaadin+REST and a standalone Core-Java CLI — so every integration has a worked, no-mock reference.
Add it to your build
The Community Edition is on Maven Central and on repo.jsentinel.eu/releases. Import the BOM, then pull in the adapter you need:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>eu.jsentinel</groupId>
<artifactId>jCustos-bom</artifactId>
<version>00.83.00</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>eu.jsentinel</groupId>
<artifactId>jCustos-vaadin</artifactId>
</dependency>Swap jCustos-vaadin for jCustos-rest or jCustos-standalone as needed; see the Quick Start for the full module list.