Adventure Keeper Docs
Acessar

Segurança Declarativa & Sandboxing

1. Abordagem Declarativa First

Para proteger os dados das campanhas e os mestres contra códigos maliciosos, o Adventure Keeper adota uma política estrita de extensibilidade primariamente declarativa:

  • Proibição de Código JS Inseguro: Módulos de terceiros não executam código JavaScript arbitrário não inspecionado no contexto de autenticação do usuário.
  • Validação Antecipada: Todos os componentes visuais são construídos a partir de primitivas padronizadas do Adventure Keeper (Design System) alimentadas pelos schemas declarativos.

2. Higienização e Prevenção de XSS

Quando um módulo manipula textos com suporte a formatação rica (HTML ou Markdown):

  1. Sanitização de HTML: Todo o conteúdo textual que aceita marcação é filtrado por rotinas de sanitização estritas (DOMPurify no frontend e sanitizeVttContent no backend).
  2. Tags Permitidas: Apenas elementos seguros de formatação (<p>, <em>, <strong>, <ul>, <li>, <blockquote>, <code>) são aceitos.
  3. Tags Bloqueadas: Tags <script>, <iframe>, <embed>, <object> ou atributos onerror, onclick são sumariamente expurgados antes da persistência.

3. Isolamento de Contexto & Cookies

  • Os módulos operam sem acesso direto ao armazenamento local de autenticação (localStorage ou cookies __Host-ak_session).
  • Requisições externas iniciadas pela aplicação requerem autorização expressa e não compartilham tokens de sessão do usuário.
  • Comunicações com APIs externas devem utilizar exclusivamente Personal Access Tokens (PAT) com escopos delimitados.