Kwalifikacja produktu
Enterprise czy Proxy
Dwa modele integracji. Każdy chroni coś innego — i to decyduje, którym z nich prowadzimy Twój produkt.
Bez licencji użytkownik nie uruchomi go wcale. Działa offline.
Program można skopiować, ale bez licencji nie dostanie tokenu. Wymaga łączności.
Test w pięciu pytaniach
Odpowiedz TAK albo NIE. Model podajemy od razu po ostatniej odpowiedzi.
Enterprise
Zabezpieczamy plik i moment uruchomienia: kod jedzie do klienta jako zaszyfrowany pakiet, a wrapper startuje program po autoryzowanej sesji. Praca bez łączności w okresie łaski, plus kody awaryjne na sytuacje kryzysowe.
Co zabezpieczamy
Zabezpieczamy
- Aplikację desktopową na Windows
- Aplikację sterującą sprzętem (USB/FTDI)
- Logowanie w aplikacji webowej i mobilnej (Proxy)
- Licencje per stanowisko lub na klucz USB
- Pracę offline w okresie łaski
- Suitę z jednym punktem wejścia
Nie zabezpieczamy
- Wtyczki i dodatku do cudzego programu
- Biblioteki, SDK, komponentu dla programistów
- Sterownika jądra i usługi systemowej
- Firmware'u urządzenia
- Makr i skryptów w cudzym programie
- Cudzego programu bez praw do modyfikacji
Ustalamy wspólnie zakres
- Aplikacje na runtime: .NET, Java, Electron, Python
- macOS i Linux — na mapie drogowej
- Własny auto-update i wiele punktów wejścia
- Środowisko całkowicie odcięte od sieci
Dlaczego nie? Pełne uzasadnienia
| Typ produktu | Dlaczego nie |
|---|---|
| Wtyczka, plugin, dodatek do cudzego programu | Kodu nie uruchamia użytkownik ani my — ładuje go program-host, w swoim procesie i w swoim momencie. Zaszyfrowanej wtyczki host po prostu nie wczyta, a my nie możemy stanąć przed jego startem. Z punktu widzenia DRM aplikacją jest host, a wtyczka jest jego integralnym rozszerzeniem. |
| Biblioteka, SDK, komponent dla programistów | Odbiorcą jest inny programista, który ma ją linkować i wywoływać ze swojego kodu. Zaszyfrowanego komponentu nie da się zlinkować, a po wbudowaniu w cudzą aplikację nie mamy kontroli nad jej uruchomieniem. |
| Sterownik jądra, usługa systemowa | Ładuje je system, nie użytkownik, i wymagają podpisu producenta (na Windows: WHQL). Zaszyfrowany sterownik nie przejdzie weryfikacji podpisu. |
| Firmware urządzenia | Kod startuje bezpośrednio z pamięci urządzenia, bez systemu operacyjnego, który uruchomiłby wrapper przed nim. Zaszyfrowany obraz musiałby rozszyfrować się sam, czyli nieść klucz na pokładzie — a wtedy klucz jedzie do klienta razem z kodem. |
| Makra i skrypty w cudzym programie | To samo co wtyczka: wykonuje je host, a jego interpreter potrzebuje jawnego tekstu. |
| Cudzy program bez praw | Zabezpieczanie zmienia postać pliku i wymaga jego redystrybucji. Bez praw producenta nie zrobimy tego, nawet mogąc technicznie. |
Mam wtyczkę albo bibliotekę — jak to prowadzimy?
Cztery drogi. Zwykle jedna pasuje.
01
Licencjonuj hosta, nie wtyczkę
Jeśli jesteś producentem programu-hosta — pełny Enterprise na hosta, a wtyczka staje się modułem włączanym przez licencję.
02
Wydziel wartość do własnego procesu
Chroniona logika idzie do osobnego programu (lokalna usługa, silnik obliczeniowy), a wtyczka tylko z nim rozmawia.
03
Przenieś wartość na serwer
Wtyczka woła Twój backend, Keystorum bramkuje dostęp do backendu. Chronisz usługę, nie kod.
04
Hybryda
Enterprise na aplikację główną, pakiety funkcji na rozszerzenia. Rozszerzenia bez chronionego rdzenia są bezużyteczne.
Punkt ochrony stawiamy tam, gdzie kod jest uruchamiany — dlatego bierzemy hosta, wydzielony proces albo usługę, a nie sam plik wtyczki. Którą z czterech dróg wybrać, ustalamy na Twoim produkcie w jednej rozmowie.
Droga wydania do klienta
Enterprise — każde wydanie przechodzi tę samą sekwencję. Status widzisz w panelu.
- 1 draft Ty rejestrujesz
- 2 pending my zabezpieczamy
- 3 secured wrapper gotowy
- 4 ready Ty akceptujesz
- 5 published serwuje aktywacje
- 6 deprecated bez nowych wdrożeń
- 7 sunset koniec, kaskadowo
Etapy wdrożenia — kto co robi
Enterprise
| Etap | Co się dzieje | Właściciel |
|---|---|---|
| 1 | Kwalifikacja produktu | wspólnie |
| 2 | Konfiguracja produktu i polityk (łaska, heartbeat, kody awaryjne) | my |
| 3 | Rejestracja wydania i przekazanie builda | Ty |
| 4 | Zabezpieczanie wrapperem i test uruchomienia | my |
| 5 | Akceptacja i publikacja | Ty |
| 6 | Wystawianie licencji i kluczy, eksploatacja | Ty |
Proxy
| Etap | Co się dzieje | Właściciel |
|---|---|---|
| 1 | Kwalifikacja produktu | wspólnie |
| 2 | Konfiguracja produktu i wygenerowanie sekretów | my |
| 3 | Implementacja endpointu tokenowego | Ty |
| 4 | Test integracji — logowanie, odnowienie, wylogowanie | wspólnie |
| 5 | Podłączenie logowania w aplikacji klienckiej | Ty |
| 6 | Zakładanie kont i licencji, eksploatacja | Ty |
Co dostarczasz, co dostajesz
Dostarczasz Ty
- Gotowy build i numer wersji, na przykład 8.7.23 (Enterprise)
- Endpoint HTTPS wystawiający JWT (Proxy)
- Prawa do modyfikacji i redystrybucji pliku
Pełna lista
Enterprise
- Gotowy, przetestowany build w wersji, którą chcesz sprzedawać — nie kod źródłowy.
- Numer wersji semantyczny, unikalny w obrębie produktu.
- Punkt wejścia, wymagane argumenty i uprawnienia, lista zależności (runtime, sterowniki, urządzenia).
- Instrukcja weryfikacji — po zabezpieczeniu sprawdzamy, czy program nadal działa.
- Plik przekazujesz przeglądarką przez naszą aplikację sprzedażową, nie mailem.
- Parametry pracy i handlowe: okres łaski, heartbeat, kody awaryjne, liczba stanowisk, okresy ważności.
- Wychodzące HTTPS do Keystorum u klienta końcowego.
Proxy
- Publiczny endpoint HTTPS przyjmujący POST z JSON-em i weryfikujący nasz podpis: klucz w nagłówku Authorization oraz HMAC-SHA256 nad ciągiem timestamp|request_id|body_sha256|method|path.
- JWT w odpowiedzi wraz z czasem wygaśnięcia; TTL ustawiasz Ty (domyślnie 10 minut) i sam go walidujesz.
- Czas odpowiedzi poniżej limitu (domyślnie 10 sekund) i sensowne kody błędów: nieznane konto, konto zablokowane.
- Wywołanie Keystorum przy logowaniu i odnawianie sesji w tle — token sesyjny jest jednorazowy.
- Mapowanie Twojego identyfikatora użytkownika na konto w Keystorum.
- Opcjonalnie: zakładanie kont i licencji przez nasze API oraz szyfrowanie treści kluczem produktu.
Dostajesz od nas
- Zabezpieczony wrapper albo pośrednictwo w tokenach
- Panel: licencje, aktywacje, stanowiska, audyt, raporty
- Rewokację ze skutkiem w minutach
Pełna lista
Enterprise
- Zabezpieczoną wersję aplikacji — kod jako zaszyfrowany pakiet AES-256-GCM plus wrapper, który go uruchamia.
- Klucz do pakietu nigdy nie ląduje na dysku klienta: wydajemy go per sesja, zaszyfrowanego do klucza publicznego konkretnego stanowiska.
- Licencje per stanowisko, na klucz fizyczny, czasowe, wieczyste, trial i demo — z wiązaniem do zakresu wersji.
- Kody awaryjne na sytuacje kryzysowe u klienta.
- Rewokację przy najbliższym heartbeacie; wycofanie wersji kończy jej sesje i aktywacje kaskadowo.
Proxy
- Uwierzytelnianie użytkowników końcowych (e-mail i hasło, opcjonalnie 2FA) i sprawdzanie licencji przy każdym odnowieniu tokenu.
- Twój JWT dla ruchu klient → Twoje API plus nasz krótki token sesyjny do rozmów z nami.
- Zawieszenie, unieważnienie, przedłużenie i zmianę liczby stanowisk ze skutkiem w minutach.
- Tokeny tożsamości dla urządzeń (POS, terminale) — rotowane automatycznie, z okresem, w którym stary token nadal działa.
W obu modelach
- Panel do licencji, kont, aktywacji, stanowisk i sesji.
- Rejestr audytowy operacji krytycznych z aktorem, adresem IP i metadanymi.
- Raporty wykorzystania i API dla Twojego zaplecza.
Podział odpowiedzialności — co bierzemy na siebie
- Bierzemy na siebie pakiet na dysku i moment uruchomienia — to warstwa DRM dokładana do Twojego kodu. Hartowanie samego procesu (obfuskacja, ochrona anty-debug) prowadzisz swoimi narzędziami; działają obok wrappera.
- Podpis kodu zostaje po Twojej stronie: certyfikaty producenta, WHQL i notaryzacja pozostają na Twoim kluczu.
- Binaria trzymamy rozdzielnie: pliki żyją w aplikacji sprzedażowej, a Keystorum przechowuje klucz szyfrujący pakiet i jego skrót kontrolny.
- Licencja bramkuje moduły i pakiety funkcji; role i uprawnienia wewnątrz aplikacji zostają w Twoim systemie.
- Danych medycznych ani danych pacjentów nie przechowujemy — metadane stanowisk i heartbeatów trzymamy minimalne.
- Praca bez łączności: Enterprise ma okres łaski i kody awaryjne, Proxy pracuje przy stałym połączeniu.