Zum Hauptinhalt springen
Version: Guardian v0.1.0

Guardian SDK

Surt Guardian ist ein Geräteintelligenz-SDK für mobile und Web-Anwendungen. Es erfasst Gerätesignale, führt - wo verfügbar - Geräteintegritätsprüfungen durch und sendet alles an das Surt-Backend zur Risikobewertung. Alle Sicherheitsentscheidungen werden serverseitig getroffen.

1
Installieren
SDK zu deinem Projekt hinzufügen
2
Initialisieren
Konfiguriere beim App-Start
3
JWT erzeugen + Verify
Hole ein JWT von deinem Backend und rufe dann verify() auf

So funktioniert es​

  1. Installiere das SDK in deinem Projekt
  2. Initialisiere das SDK beim App-Start (kein API-Schlüssel im Client)
  3. Dein Backend erzeugt ein kurzlebiges JWT, indem es Surts Preflight-Endpoint mit deinem sp_live_*-API-Schlüssel und dem Transaktionskontext aufruft
  4. Rufe verify(jwt) mit einem frischen JWT für eine direkte Risikoentscheidung auf, oder collect(jwt?) für den Server-zu-Server-Ablauf
  5. Erhalte eine Risikoentscheidung von verify(), oder ein verschlüsseltes Payload von collect(), das dein Backend an Surt sendet

Das SDK verwaltet Gerätefingerabdruck und Datenerfassung intern. Der sp_live_*-API-Schlüssel verlässt niemals dein Backend - der Client hält stets nur kurzlebige JWTs.

Zwei Verifizierungswege​

  • verify(jwt): Das SDK ruft Surt direkt auf und gibt allowed: true/false an deine App zurück. Erfordert pro Aufruf ein frisches JWT (jedes JWT ist einmalig verwendbar). Nur native SDKs.
  • collect(jwt?): Das SDK sammelt und verschlüsselt Daten lokal, dein Backend ruft Surts Evaluate-Endpoint auf. Das JWT ist optional - übergib es nur, wenn die öffentliche IP des Geräts in das Payload eingebettet werden soll. Auf allen Plattformen unterstützt, einschließlich Web.

Plattformunterstützung​

PlattformPaketVerteilungverify()collect()
Web (Browser)@surtai/guardian-webnpmn/v✓
React Native@surtai/guardian-rnnpm✓✓
iOS (Swift)SurtGuardianSDKSwift Package Manager✓✓
Android (Kotlin)com.surt.guardian:securitysdkMaven (GitHub Packages)✓✓

Die nativen Plattformen teilen dieselbe API-Oberfläche und werden synchron versioniert. Das Web-SDK ist collect-only: kein verify() und keine Initialisierung auf App-Ebene.

Was erfasst wird​

Ohne Berechtigungen: Hardware-Informationen, Sicherheitsindikatoren (Root/Jailbreak, Emulator, Debugger, VPN, Frida, Xposed, Magisk), Software-Informationen, Akku, Netzwerktyp.

Mit Berechtigungen (opt-in): GPS-Standort, WLAN-Details, SIM-/Betreiberdaten, Kamerainformationen.