Documentação

Segurança cognitiva!

Onny opera como um middleware de segurança inteligente. Utilizamos Fingerprinting de Hardware e análise comportamental para proteger sua comunidade antes mesmo do usuário entrar.

Sentinel
Sentinel diz:

Olá, desenvolvedor(a)! Minha missão é proteger sua comunidade do tráfego indesejado, como bots e raids, em questão de milissegundos. Analiso o comportamento, GPU do usuário e a reputação do IP para garantir que apenas humanos de verdade tenham acesso à sua comunidade.

Linha do tempo

Paths & Atualizações

Cada release traz melhorias de performance, novos recursos de segurança e refinamentos na inteligência artificial Sentinel.

Nenhum path encontrado para este filtro.

Integração

Autenticação OAuth2

Utilizamos o padrão OAuth2 (RFC 6749) para garantir autenticação segura e confiável. Os tokens de acesso são efêmeros, criptografados e possuem tempo de vida reduzido, minimizando riscos em caso de interceptação.

01

Obtenha suas credenciais!

Gere suas credenciais para autenticação diretamente no painel administrativo. Com elas você poderá integrar-se à plataforma com total controle e segurança.

02

Redirecionamento!

Direcione o usuário para o fluxo de autorização segura. Esse processo garante que o acesso seja feito de maneira confiável.

auth_request.http
GET https://security.onny.space/v1/oauth2/authorize
?client_id=YOUR_CLIENT_ID
&redirect_uri=https://yourapp.com/callback
&response_type=code
&scope=identify%20guilds.join

Rate Limits & Proteção

Aplicamos limites inteligentes de requisições para garantir a estabilidade e a segurança da sua aplicação. Essas camadas de proteção atuam de forma contínua para identificar e bloquear tentativas de força bruta, uso abusivo da API e comportamentos suspeitos.

Trust Score

O cálculo exato não é exposto para reduzir risco de engenharia reversa.

Cada sessão analisada recebe um Trust Score dinâmico, calculado a partir de múltiplos vetores técnicos e comportamentais — fingerprinting de hardware, ambiente de execução, padrões de interação humana e sinais de rede. Pontuações baixas podem acionar verificações adicionais, limitações temporárias ou bloqueios automáticos.

Ações preventivas e bloqueios

Tipo O que significa? Quando acontece?
TEMPORÁRIABloqueio temporário por comportamento abusivo.Disparado após múltiplas falhas consecutivas, tentativas de força bruta ou automações repetidas em curto intervalo de tempo.
COMUNIDADEPunição aplicada por um servidor específico.Quando você recebe uma punição em um servidor integrado à Onny, esse bloqueio impede o retorno ao mesmo servidor, mesmo com outras contas.
GLOBALBloqueio total da identidade ou da rede.Aplicado apenas em cenários extremos — ataques massivos coordenados ou tentativas avançadas de burlar o sistema. Todas as contas associadas são impedidas.

Privacidade & LGPD

A Sentinel coleta apenas sinais técnicos mínimos necessários para validação anti-raid (dados de hardware, ambiente e rede). Não lemos mensagens privadas, não acessamos dados sensíveis e não coletamos senhas. Todo o tráfego é protegido e processado com foco em segurança e conformidade.

Sentinel
Sentinel alerta:

Eu aprendo e memorizo padrões de comportamento. Se um IP falhar repetidamente nas verificações ou tentar burlar o sistema, aplico automaticamente um bloqueio temporário de alguns minutos.

Essa medida impede que scripts de raid testem múltiplas combinações, protegendo sua comunidade contra abusos e tentativas automatizadas de ataque.

Endpoint Limite Janela Ação
/gatekeeper3 tentativas15 minBlock IP
/public/guilds100 reqs1 minThrottle

Neural Engine

Sentinel AI: Como funciona?

O coração da Onny é a Sentinel AI, uma rede neural leve desenvolvida internamente, utilizada exclusivamente na infraestrutura da Onny. Opera na borda (Edge), analisando vetores de hardware em tempo real para atribuir um Trust Score.

Sentinel
Sentinel diz:

Uma dica para você: navegadores focados em privacidade (como Firefox com resistFingerprinting) recebem tratamento especial na minha matriz de risco. Usuários legítimos não são punidos por se protegerem!

Headless Detection

Identificamos navegadores que operam sem interface gráfica, comumente utilizados por bots e automações.

Alto risco
Hardware Concurrency

Analisamos a quantidade de núcleos de CPU e memória RAM disponíveis, usando como indicadores do ambiente.

Médio risco
Human Interaction

Observamos padrões como curvatura do movimento do mouse e eventos de toque para identificar humanos.

Baixo risco

Integrações

Riot Account

Integração exclusiva para parceiros que precisam vincular contas da Riot Games ao Discord. Permite verificar e sincronizar identidades de jogadores diretamente com a Sentinel, cruzando dados de ban para jogos como VALORANT e Wild Rift.

Integração exclusiva de parceiros

Esta integração está disponível apenas para servidores com parceria ativa. A vinculação de contas Riot exige aprovação prévia e configuração no painel da Sentinel. Em breve qualquer servidor poderá habilitar este recurso.

01

State Token

Gere um state token assinado com HMAC pelo seu backend para identificar a sessão.

02

Redirect

Redirecione o usuário para o endpoint de conexão Riot da Sentinel.

03

OAuth Riot

A Sentinel processa o OAuth com a Riot Games e valida a conta.

04

Callback

Receba o payload com os dados vinculados no seu listener configurado.

GET /api/v1/valorant/connect
GET /api/v1/valorant/connect?state={signed_state_token}

// A Sentinel verifica a assinatura, redireciona para Discord OAuth
// → Callback: /integration/valorant

Callback Listener

Após o OAuth ser concluído, a Sentinel envia um POST para o seu VALORANT_LISTENER_URL com os dados do jogador. Valide o header x-onny-secret antes de processar.

POST → VALORANT_LISTENER_URL
// POST recebido no seu VALORANT_LISTENER_URL
// Header: x-onny-secret: {LISTENER_SECRET}

{
  "userId": "123456789012345678",
  "guildId": "906736049252884500",
  "riot": "NomeJogador#BR1",
  "nonce": "abc123def456"
}
Sentinel
Sentinel alerta:

A integração Riot Account exige que o bot da Sentinel esteja no servidor e que o LISTENER_SECRET seja mantido em segredo absoluto — ele autentica que o payload foi enviado pela Sentinel, não por terceiros.

Sentinel

Acesso à API

Fase fechada — acesso via parceria

As chaves de API da Sentinel são disponibilizadas apenas para parceiros neste momento. Servidores públicos que usam a Onny têm acesso à integração via bot diretamente — a API REST é voltada para aplicações que precisam sincronizar moderação de forma programática.

🚀 Em breve qualquer servidor poderá gerar suas próprias chaves. Fique de olho nas atualizações!

Sentinel
Sentinel alerta:

A API só funciona quando o bot da Sentinel já está no servidor e configurado. Sem ele, as chamadas retornam erro — o bot é o que processa as verificações e gerencia os cargos. Se ainda não adicionou:

Adicionar a Sentinel ao servidor

Chaves ativas são gerenciadas no painel em Sentinel → API Keys . Use uma chave por aplicação para poder revogar de forma cirúrgica sem afetar outros sistemas.

Sentinel

Integração (Guild Ban & Unban)

A Onny expõe endpoints de moderação para sincronizar punições do seu bot com a nossa base de segurança. Para integrar, você precisa de uma onny-api-key e enviar requisições com o header x-api-key.

01

O que você precisa?

Sua onny-api-key ativa e os IDs do servidor e usuário. Boas práticas: armazene tudo em variáveis de ambiente.

02

Como autenticar?

Envie o header x-api-key em todas as requisições. Sem isso, a API retorna erro de autenticação.

client_setup.js
import axios from "axios";

const api = axios.create({
  baseURL: process.env.API_URL_SECURITY || "https://security.onny.space",
  headers: { "x-api-key": process.env.API_KEY_SECURITY },
});
Sentinel
Sentinel diz:

Você pode estar se perguntando se é necessário ter um aplicativo próprio para usar a plataforma. A resposta é não. Disponibilizamos comandos e integrações prontas que permitem usar todas as funcionalidades de forma simples e segura direto pelo nosso bot.

Ban (Guild)

Registra o banimento do usuário no escopo da comunidade, sincronizando a punição com a Sentinel. Mantém histórico, detecta reincidência e aplica regras de reputação com mais precisão.

POST /api/v1/guild/:guildId/ban
POST https://security.onny.space/api/v1/guild/123456789012345678/ban
x-api-key: YOUR_API_KEY
Content-Type: application/json
Payload JSON
{
  "userId": "USER_ID",
  "username": "username",
  "moderatorId": "MODERATOR_ID",
  "reason": "Motivo do ban"
}

Unban (Guild)

Remove o banimento do usuário, atualizando o histórico da Sentinel. Útil para anistias, correções de moderação ou retornos autorizados à comunidade.

POST /api/v1/guild/:guildId/unban
POST https://security.onny.space/api/v1/guild/123456789012345678/unban
x-api-key: YOUR_API_KEY
Content-Type: application/json
Payload JSON
{
  "userId": "USER_ID",
  "moderatorId": "MODERATOR_ID",
  "reason": "Motivo do unban"
}

Sentinel

Usuário

Endpoints para consultar o perfil de segurança de usuários, verificar elegibilidade de entrada, detectar contas vinculadas e gerenciar fingerprints. Todos exigem x-api-key.

Trust Score & Perfil

GET /api/v1/user/:discordId — retorna o perfil de segurança completo: status, trust score (0–100) e histórico de bans.

GET /api/v1/user/:discordId
GET /api/v1/user/123456789012345678
x-api-key: sua_chave_aqui

// Resposta
{
  "exists_in_db": true,
  "identity": { "id": "...", "username": "nomeusuario", "avatar": "..." },
  "security": {
    "status": "VERIFIED",
    "trust_score": 85,
    "global_ban_reason": null
  },
  "history": { "total_bans": 1 }
}

Elegibilidade de entrada

GET /api/v1/user/eligibility/:guildId + header x-user-id — verifica se um usuário pode entrar antes do Discord processar o join.

GET /api/v1/user/eligibility/:guildId
GET /api/v1/user/eligibility/906736049252884500
x-api-key: sua_chave_aqui
x-user-id: 123456789012345678

// Resposta
{
  "eligible": false,
  "reasons": ["Banned from this guild"],
  "user_status": "BLOCKED"
}

Detecção de alts (contas vinculadas)

GET /api/v1/user-management/find?discordId= — encontra contas que compartilham fingerprint ou IP com um usuário. Essencial para detectar ban evasion.

GET /api/v1/user-management/find
GET /api/v1/user-management/find?discordId=123456789012345678
x-api-key: sua_chave_aqui

// Resposta
{
  "total": 2,
  "users": [
    {
      "id": "999888777666555444",
      "username": "alt_account",
      "status": "BLOCKED",
      "bansCount": 3,
      "linkedBy": ["FINGERPRINT", "IP_PREFIX"]
    }
  ]
}
Sentinel
Sentinel diz:

Fingerprint igual em usuários diferentes é muito mais forte do que IP compartilhado como sinal de alt accounts — o fingerprint inclui características específicas do hardware, o que é difícil de mascarar sem reinstalar o SO.

Sentinel

Segurança

Endpoints que exigem x-api-key mas não envolvem operações de moderação — consultas de segurança, perfis e dados de guilds autorizadas. A key precisa ter permissão explícita para a guild consultada.

Informações da guild

GET /api/v1/guild/:guildId
GET /api/v1/guild/906736049252884500

{
  "status": "ONLINE",
  "info": { "id": "...", "name": "Nome da Guild", "icon": "https://..." },
  "security": "HIGH",
  "stats": { "verified_users": 1420 }
}

Analytics de bans

GET /api/v1/guild/:guildId/analytics
GET /api/v1/guild/906736049252884500/analytics

{ "total_bans": 234, "bans_24h": 3, "bans_7d": 18, "bans_30d": 54 }

Estatísticas globais da plataforma

GET /api/v1/global/stats
GET /api/v1/global/stats

{ "identities": 18420, "blacklist": 312, "new_identities_24h": 87, "latency_ms": 4 }

Sentinel

Endpoints + Playground

Chame qualquer endpoint em tempo real, direto do browser. Nada para instalar, nada para configurar.

Você é dev? Valide respostas antes de codar, teste payloads e inspecione o retorno completo. Não é dev? Sem problema — os endpoints públicos funcionam sem chave e mostram dados reais dos servidores cadastrados na Sentinel.

Endpoint

Parâmetros

Nenhum parâmetro necessário — clique em Executar e veja a resposta em tempo real!

GET/api/v1/global/stats
response.json

// selecione um endpoint e clique em Executar