Pular para o conteúdo principal
Versão: Guardian v0.1.0

Guardian SDK

O Surt Guardian é um SDK de inteligência de dispositivos para aplicativos móveis e web. Ele coleta sinais do dispositivo, realiza verificações de integridade do dispositivo quando disponível e envia tudo ao backend da Surt para avaliação de risco. Todas as decisões de segurança são tomadas no lado do servidor.

1
Instalar
Adicione o SDK ao seu projeto
2
Inicializar
Configure na inicialização do aplicativo
3
Gerar JWT + Verificar
Obtenha um JWT do seu backend e chame verify()

Como funciona​

  1. Instale o SDK no seu projeto
  2. Inicialize o SDK na inicialização do aplicativo (sem chave de API no cliente)
  3. Seu backend gera um JWT de curta duração chamando o endpoint de preflight da Surt com sua chave de API sp_live_* e o contexto da transação
  4. Chame verify(jwt) com um JWT novo para uma decisão de risco direta, ou collect(jwt?) para o fluxo servidor-a-servidor
  5. Receba uma decisão de risco de verify(), ou um payload criptografado de collect() que seu backend envia para a Surt

O SDK lida internamente com a impressão digital do dispositivo, as verificações de integridade do dispositivo e a coleta de dados. A chave de API sp_live_* nunca sai do seu backend - o cliente só guarda JWTs de curta duração.

Dois caminhos de verificação​

  • verify(jwt): o SDK chama a Surt diretamente, retorna allowed: true/false ao seu aplicativo. Requer um JWT novo a cada chamada (o JWT é de uso único). Apenas SDKs nativos.
  • collect(jwt?): o SDK coleta e criptografa dados localmente, e o seu backend chama o endpoint de avaliação da Surt. O JWT é opcional - passe-o apenas se quiser embutir o IP público do dispositivo no payload. Suportado em todas as plataformas, incluindo web.

Suporte de plataforma​

PlataformaPacoteDistribuiçãoverify()collect()
Web (Navegador)@surtai/guardian-webnpmn/d✓
React Native@surtai/guardian-rnnpm✓✓
iOS (Swift)SurtGuardianSDKSwift Package Manager✓✓
Android (Kotlin)com.surt.guardian:securitysdkMaven (GitHub Packages)✓✓

As plataformas nativas compartilham a mesma superfície de API e são versionadas em sincronia. O SDK web é apenas collect: não tem verify() nem inicialização no nível do aplicativo.

O que coleta​

Sem permissões: Informações de hardware, indicadores de segurança (root/jailbreak, emulador, depurador, VPN, Frida, Xposed, Magisk), informações de software, bateria, tipo de rede.

Com permissões (opt-in): Localização GPS, detalhes de WiFi, informações de SIM/operadora, informações de câmera.