Enterprise Edition
Manage links at scale. A set of plug-in modules for organizations that run marketing campaigns, agent-driven automation and compliance exports. It installs as jars on the classpath and changes nothing about the community application.
Modules
Four plug-in modules, each attaching through the community edition's published extension seams.
| Module | What it does | Licensed feature |
|---|---|---|
| Link meta | Campaigns, tags and placement labels: the /api/campaigns, /api/tags and /api/link-meta endpoints, both admin views, create-form sections, assign-at-create, and the campaign client | link-meta |
| Audit export | Exports the security audit trail through a dedicated endpoint and admin view | audit-export |
| MCP server | Model Context Protocol server so AI agents can drive links, campaigns, tags and statistics — with API-key pass-through, so jCustos stays the single authorization point | — |
| CLI | Command-line client for scripted and CI-driven link management | — |
How licensing works
Plug-in features check their entitlement at runtime against an Ed25519-signed license file. Point the runtime at it with -Dapp.license.file (default license.json).
Without a valid license the licensed features degrade gracefully rather than breaking the application.
Without a valid license
- the plug-in endpoint answers
403 license required - its admin views and menu entries do not appear
- everything else keeps running exactly as before
Your data is never held hostage
- Data written earlier by a licensed feature stays in your store.
- It lies dormant while no license is present and becomes visible again as soon as one is.
- Nothing is deleted, nothing is held hostage.
403 license required and its views disappear while the community app runs on.
jCustos remains the single authorization point, so no enterprise feature opens a
second door into your data.Deployment
Drop the plug-in jars, plus the license module, onto the host classpath.
# REST server
java -cp urlshortener.jar:plugins/* com.svenruppert.urlshortener.api.ShortenerServerFor the Vaadin UI, add the jars to the war’s runtime classpath. One pitfall worth
knowing: as soon as enterprise views contribute dynamic routes, build the frontend
with -Dvaadin.optimizeBundle=false, otherwise the production bundle strips the
classes those routes need. Community-only builds are unaffected.
Enterprise artifacts are distributed through a private registry and are never published to Maven Central. Both editions carry the same version number.
Get a license
Enterprise licensing and support are provided by jSentinel Ltd. Licenses are issued per feature with an expiry date.
- jsentinel.eu — request a license or ask about support
- Compare the editions · Feature comparison