Open source · Apache 2.0 / BSL 1.1

Nie musisz budować własnego serwera licencji.

BeanGuard wystawia, szyfruje i weryfikuje licencje dla aplikacji Java i Spring Boot — każdy limit i funkcja, które sprzedajesz, mogą być egzekwowane przez podpisany, bezpieczny token, zamiast stringa porównywanego w instrukcji if.

$ docker compose up -d · mvn install · dev.beanguard

beanguard-server · POST /licences/issue

eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0.k3Jd9Qm2vB7…Zx8pL4wN.9fq2X_rT.a1F7cE0kQmZs…v6Yb3Lp9Rw2Tn

✓ signature verified · RS256

{
  "type": "STANDARD",
  "expiration": "2027-01-01",
  "claims": {
    "seats": "25",
    "advanced-reports": "true"
  }
}

Problem

Każdy dostawca buduje to od nowa — i zwykle wychodzi to nie najlepiej.

Ręcznie przygotowywane klucze licencyjne, które trudno przeaudytować, zrotować czy unieważnić.

Brak samoobsługowego sposobu, żeby klient mógł kupić i aktywować licencję.

Blokowanie funkcji rozrzucone po instrukcjach if, zamiast egzekwowane w jednym miejscu.

BeanGuard może zastąpić te trzy problemy infrastrukturą, którą uruchamiasz samodzielnie — self-hosted, z dostępnym kodem źródłowym i naprawdę Twoją.

Dla kogo

Zbudowane z myślą o dostawcy, nie o korporacyjnym kupującym.

Jeśli sprzedajesz oprogramowanie z limitami — miejscami, projektami, funkcjami, planami — BeanGuard może być warstwą pomiędzy „uzgodniliśmy warunki w umowie” a „aplikacja faktycznie to egzekwuje”.

Niezależni developerzy
Sprzedający backend w Spring Boot, plugin albo produkt self-hosted i zmęczeni pisaniem kodu licencyjnego zamiast kodu produktu.
Agencje
Licencjonujące oprogramowanie white-label dla każdego klienta osobno, z różnym zestawem funkcji i limitów dla każdego wdrożenia.
Dostawcy B2B
Dostarczający wdrożenia on-premise lub self-hosted, gdzie nie można polegać na centralnej platformie SaaS do egzekwowania czegokolwiek.

Jak to działa

Cztery moduły. Jedna licencja, od początku do końca.

01

Wystawienie

beanguard-server

Podpisuje i szyfruje licencję, przechowuje klucze, udostępnia REST API.

02

Konfiguracja

beanguard-admin

Zarządza szablonami, limitami, zamówieniami i klientami z poziomu panelu.

03

Sprzedaż

beanguard-shop

Klienci sami kupują i aktywują licencję, bez żadnego ręcznego kroku.

04

Egzekwowanie

beanguard-client

Twoja aplikacja sprawdza ją jedną adnotacją. To cała integracja.

Biblioteka klienta

Jedna adnotacja, nie cały system licencjonowania.

TeamService.java
@RequiresValidLicence
@IncreasesLicenceLimit("seats")
@DecreasesLicenceLimit("seats")
public User inviteTeamMember(TeamId team) {
    // Twój kod — licencja już sprawdzona
    ...
}

beanguard-client pobiera, odszyfrowuje i cache’uje licencję przy starcie i odświeża ją co godzinę — Twój kod tylko pyta.

Pod maską

PodpisanaJWS · RS256

Każda licencja jest podpisana parą kluczy RSA — manipulacja łamie podpis.

ZaszyfrowanaJWE · AES-256-GCM

Podpisana licencja jest następnie szyfrowana, więc jej claims nie są czytelne ani w tranzycie, ani w spoczynku.

Klucz nie opuszcza serwera

Prywatny klucz RSA nigdy nie opuszcza bazy danych serwera. Nie ma czego wyciekać z binarki klienta.

Open core
Apache 2.0beanguard-api, beanguard-client
BSL 1.1server, admin, shop, docs

BSL zmienia się w Apache 2.0 cztery lata po każdym wydaniu. Self-hosting do licencjonowania własnego produktu jest darmowy, na zawsze.

Maven Central
dev.beanguard

Pierwszą licencję możesz wystawić jeszcze dziś.

Jedno docker compose up uruchamia lokalnie serwer, panel admina i sklep, a bibliotekę klienta możesz dodać, gdy będziesz gotów zacząć egzekwować licencje.