Guardian SDK
Surt Guardian es un SDK de inteligencia de dispositivos para aplicaciones móviles y web. Recopila señales del dispositivo, ejecuta verificaciones de integridad del dispositivo cuando está disponible y envía todo al backend de Surt para la evaluación de riesgo. Todas las decisiones de seguridad se toman del lado del servidor.
Cómo funciona
- Instala el SDK en tu proyecto
- Inicializa el SDK al arrancar la aplicación (sin clave de API en el cliente)
- Tu backend genera un JWT de corta duración llamando al endpoint de preflight de Surt con tu clave de API
sp_live_*y el contexto de la transacción - Llama a
verify(jwt)con un JWT fresco para obtener una decisión de riesgo directa, ocollect(jwt?)para el flujo servidor a servidor - Recibe una decisión de riesgo de
verify(), o un payload cifrado decollect()que tu backend envía a Surt
El SDK gestiona internamente las huellas digitales del dispositivo y la recopilación de datos. La clave de API sp_live_* nunca sale de tu backend; el cliente solo maneja JWTs de corta duración.
Dos rutas de verificación
verify(jwt): el SDK llama a Surt directamente y devuelveallowed: true/falsea tu aplicación. Requiere un JWT fresco por cada llamada (el JWT es de un solo uso). Solo SDKs nativos.collect(jwt?): el SDK recopila y cifra los datos localmente, y tu backend llama al endpoint de evaluación de Surt. El JWT es opcional; pásalo solo si deseas incrustar la IP pública del dispositivo en el payload. Compatible con todas las plataformas, incluyendo web.
Compatibilidad de plataformas
| Plataforma | Paquete | Distribución | verify() | collect() |
|---|---|---|---|---|
| Web (Navegador) | @surtai/guardian-web | npm | n/d | ✓ |
| React Native | @surtai/guardian-rn | npm | ✓ | ✓ |
| iOS (Swift) | SurtGuardianSDK | Swift Package Manager | ✓ | ✓ |
| Android (Kotlin) | com.surt.guardian:securitysdk | Maven (GitHub Packages) | ✓ | ✓ |
Las plataformas nativas comparten la misma superficie de API y se versionan de forma sincronizada. El SDK web es solo de recopilación: no tiene verify() ni inicialización a nivel de aplicación.
Qué recopila
Sin permisos: Información de hardware, indicadores de seguridad (root/jailbreak, emulador, depurador, VPN, Frida, Xposed, Magisk), información de software, batería, tipo de red.
Con permisos (opt-in): Ubicación GPS, detalles de WiFi, información de SIM/operador, información de cámara.
Enlaces rápidos
- Inicio rápido: en funcionamiento en 5 minutos
- Web (Navegador): npm install
@surtai/guardian-web, sin inicialización - React Native: npm install + GuardianProvider
- iOS: configuración de Swift Package Manager
- Android: configuración de Maven/Gradle
- Autenticación: generación de JWTs de corta duración mediante preflight
- Collect (Servidor a servidor): verificación backend a backend
- Niveles de riesgo: comprende la evaluación de riesgo
- Configuración: todas las opciones del SDK