Documentação para desenvolvedores

Segurança e dados

Gerencie chaves e permissões da API com segurança e veja quais notas cada integração pode acessar.

Gestão de chaves de API

  • As chaves de API (alt_live_...) são exibidas uma única vez na criação. Armazenamos apenas um hash com chave (keyed hash) do segredo, então ele nunca pode ser exibido de novo — se você perdê-lo, terá de rotacionar a chave.
  • Os segredos de assinatura de webhook (whsec_...) também são exibidos uma única vez. Ficam armazenados criptografados (AES-256-GCM) e são descriptografados apenas para assinar as entregas — nunca são exibidos de novo. Para rotacionar, recrie o endpoint: um novo segredo é emitido.
  • Guarde as chaves em um gerenciador de segredos. Nunca as embuta em código client-side, apps móveis ou repositórios.
  • Rotacione pelo console: emita uma nova chave na mesma integração, migre seus sistemas para ela e então revogue a chave antiga. A revogação tem efeito imediato.
  • Se quiser, defina uma expiração ao criar a chave; chaves expiradas são rejeitadas automaticamente.
  • Uma chave por sistema. Separe staging de produção para que revogar uma não quebre a outra.
  • Não existe sandbox nem modo de teste — toda chave emitida é real e lê notas reais. Use integrações separadas para staging e produção e, para exercitar um receptor sem esperar por uma gravação real, conte com o evento de verificação enviado na criação de um endpoint ou com "Enviar evento de teste" no console.

Dados acessíveis por integração

  • Uma integração pessoal enxerga apenas as notas pessoais do proprietário. Uma integração de espaço de equipe enxerga apenas as notas compartilhadas naquele espaço — nunca as notas pessoais dos membros.
  • Integrações de espaço de equipe só podem ser criadas pelo proprietário do espaço.
  • Notas fora do escopo de uma credencial retornam 404 — a API não revela se elas existem.
  • Quando uma nota sai do seu escopo, você recebe note.deleted (reason: access_lost) e ela desaparece das suas listagens. Exclua ou bloqueie o acesso à sua cópia armazenada.

Permissões (scopes)

PermissãoPermite
notes:readListar notas e ler os metadados das notas.
transcripts:readLer o texto da transcrição e os segmentos por locutor.
summaries:readLer resumos (Markdown).
webhooks:manageCriar, atualizar, excluir e testar endpoints de webhook pela API pública.

Conceda apenas as permissões necessárias à integração. Uma requisição que exige uma permissão ausente na chave falha com 403 insufficient_scope.

Limites de requisições da API

  • 120 requisições por minuto por chave. Ao ultrapassar esse limite, a resposta é 429 rate_limited com o cabeçalho Retry-After — espere pelo menos esse tempo antes de tentar de novo.
  • Prefira webhooks com sincronização incremental (updated_after) a loops de polling agressivos.
  • Use ETag / If-None-Match nas leituras de notas, transcrições e resumos — respostas 304 são baratas para todo mundo.

Privacidade

  • Transcrições e resumos são conteúdo do usuário e podem conter dados pessoais. Busque apenas o que a sua integração precisa e proteja o que você armazenar.
  • Respeite as exclusões: ao receber note.deleted, exclua ou bloqueie o acesso à cópia armazenada, independentemente do motivo. Verifique periodicamente a lista completa de notas caso algum evento tenha sido perdido.
  • As URLs de webhook precisam ser endpoints HTTPS públicos. Endereços privados, de loopback e de metadados de nuvem são rejeitados, e redirecionamentos não são seguidos.
  • O acesso à API exige uma assinatura ativa no workspace da integração; sem ela, as requisições falham com 403 plan_required.
  • Veja nossa Política de Privacidade para saber como o próprio Alt trata os dados dos usuários.