Para usar qualquer ferramenta Figma de terceiros, você gera um Token de Acesso Pessoal (PAT) nas configurações do Figma e o cola na ferramenta. Isso é padrão. Toda integração Figma pede por ele.

O que a maioria das pessoas não registra totalmente: esse token não lê "um arquivo". Ele lê todos os arquivos que sua conta pode acessar. Cada arquivo privado. Cada biblioteca organizacional. Cada projeto compartilhado. O escopo padrão de um PAT do Figma é toda a superfície de leitura da sua conta.

Para um designer individual com conta pessoal, isso é um risco moderado. Para um designer sênior de uma empresa com bibliotecas de design compartilhadas contendo produtos não lançados, assets de marca e ferramentas internas — é significativo. E para esses designers, "colei meu token do Figma nessa ferramenta que encontrei" é um incidente de segurança.

O figmascope é projetado para que esse incidente não aconteça.

O que um PAT do Figma concede

A autenticação da API do Figma é baseada em PAT. Um token se autentica como você. A API não impõe escopo por arquivo no nível do token — impõe acesso a arquivos com base nas permissões da sua conta. Se sua conta pode ver um arquivo, o PAT pode lê-lo via API.

O escopo padrão do PAT concede acesso de leitura a:

O Figma introduziu um tipo de token mais com escopo em 2023 — tokens onde você pode selecionar quais escopos conceder. Mas a UI padrão é para o token amplo, e a maioria dos tutoriais pede para gerar um token sem especificar o escopo. Na prática, a maioria dos PATs circulando no histórico de clipboard dos designers são tokens de leitura completa.

O modelo de ameaça para ferramentas que aceitam PAT

Uma ferramenta que aceita um PAT do Figma e tem um backend enfrenta uma ameaça específica: o backend armazena seu token (para chamar o Figma em seu nome), e esse armazenamento é um alvo. Se o backend for comprometido, todo PAT armazenado ali é comprometido. Se o backend sofrer uma violação de banco de dados, o acesso ao Figma de cada usuário é comprometido.

Isso não é hipotético. Violações de armazenamento de tokens OAuth aconteceram com muitos serviços. O padrão é: usuário concede acesso, serviço armazena token, serviço é violado, atacante exfiltra tokens, atacante agora tem acesso a tudo que esses tokens podem alcançar. Para tokens do Figma numa empresa, "tudo que esses tokens podem alcançar" é o sistema de design completo.

Ferramentas baseadas em backend precisam resolver esse problema. As boas resolvem: criptografia em repouso, tokens de vida curta, fluxos de re-autenticação, log de auditoria. Resolver corretamente é um problema de engenharia de segurança de nível enterprise. A maioria das ferramentas não resolve corretamente; simplesmente ainda não foram violadas.

O armazenamento de token mais seguro é nenhum armazenamento. Se sua arquitetura nunca persiste o token, não há nada a violar. Esta é a escolha arquitetural que o figmascope faz — e não é apenas uma feature, é o modelo de segurança completo.

A arquitetura do figmascope

O figmascope roda inteiramente no browser. Não há servidor backend. Não há banco de dados. Não há gerenciamento de sessão, contas de usuário ou camada de armazenamento de tokens. O aplicativo é um bundle estático de HTML/CSS/JS servido por uma CDN. Quando você o usa, a computação acontece na sua aba do browser. Nada é enviado para os servidores do figmascope porque não existem servidores do figmascope.

O fluxo do PAT funciona assim:

  1. Você insere seu PAT no campo de input.
  2. O valor é armazenado em uma variável de closure JavaScript — um binding let regular dentro do módulo do aplicativo.
  3. Nunca é gravado em localStorage. Nunca gravado em sessionStorage. Nunca definido como cookie. Nunca gravado em indexedDB. Nunca enviado para nenhuma URL além dos dois endpoints da API do Figma.
  4. Quando você faz um export, o token é passado como cabeçalho X-Figma-Token em chamadas fetch() para api.figma.com e o CDN do Figma para assets de imagem.
  5. Quando você fecha ou recarrega a aba, a memória JS é liberada. O token está gone.

Este é o ciclo de vida completo. Sem persistência em lugar nenhum. Sem transmissão de rede exceto diretamente para o Figma.

Aplicação da Content Security Policy

Para tornar a propriedade "enviado apenas para o Figma" aplicável em vez de apenas afirmada, o figmascope implanta uma Content Security Policy que bloqueia connect-src para os dois hosts permitidos:

connect-src 'self'
  https://api.figma.com
  https://figma-alpha-api.s3.us-west-2.amazonaws.com;

A CSP é aplicada pelo browser. Mesmo que houvesse uma vulnerabilidade de injeção de script na página, o browser bloquearia qualquer tentativa de enviar o token para um host de terceiros. Requisições de rede para qualquer outro destino falham no nível do browser, antes de sair da máquina.

Isso é defesa em profundidade. O código do aplicativo já não envia o token para nenhum outro lugar. A CSP garante que o código do aplicativo não possa enviar o token para nenhum outro lugar, mesmo que tentasse.

Caminho de recuperação

Como o token está apenas em memória, a recuperação é trivial: feche a aba. O token sumiu. Sem etapa de revogação, sem "deletar conta", sem "sair". Aba fechada = token gone.

Esse também é o comportamento correto do ponto de vista da segurança operacional. Janelas de credenciais de vida curta minimizam a exposição. Você abre o figmascope, cola seu PAT, faz seus exports, fecha a aba. A janela em que o PAT está acessível é exatamente a duração dessa sessão do browser. Compare isso com uma ferramenta backend onde seu token pode estar armazenado por meses, ativo e acessível, até você revogá-lo explicitamente.

Recomendações independente da ferramenta

Mesmo com a arquitetura in-memory do figmascope, boas práticas de higiene de PAT importam:

Use um token com escopo. O Figma agora suporta tokens com escopos explícitos. Para operações somente leitura como exports do figmascope, um token somente leitura é suficiente e limita o raio de blast se ele for exposto. Gere um token com escopo file_read apenas, não o escopo amplo padrão.

Revogue tokens que você não usa ativamente. As configurações do Figma mostram todos os PATs ativos. Tokens que você gerou para um projeto que terminou devem ser revogados. Um token que você gerou para o figmascope há seis meses e não usou desde então pode ser revogado e regenerado na próxima vez que precisar.

Nunca cole tokens em ferramentas com backends a menos que você tenha verificado sua postura de segurança. Pergunte: esse serviço tem um backend? Se sim, onde e como ele armazena meu token? Se a resposta não for satisfatória, ou se não houver resposta, trate isso como um risco. Isso se aplica a toda ferramenta Figma, não apenas ao figmascope.

Usuários enterprise: use contas compartilhadas/de serviço quando disponíveis. Se sua organização pode criar uma conta de serviço Figma com acesso somente leitura a projetos específicos, gerar PATs a partir dessa conta em vez da sua conta pessoal limita o que é acessível a esses projetos.

O que não afirmamos

A arquitetura somente-browser do figmascope minimiza a superfície de ataque para roubo de credenciais server-side. Não elimina todas as preocupações de segurança:

Não estamos afirmando que isso substitui uma auditoria de segurança de nível enterprise. Estamos afirmando: a arquitetura torna uma classe específica de ataque — violação de banco de dados de tokens server-side — estruturalmente impossível ao eliminar o servidor. Isso é uma redução significativa na superfície de ataque, não imunidade completa.

Por que open source importa aqui

Afirmações de segurança não têm valor sem verificabilidade. O figmascope tem licença MIT e o código completo está no GitHub. As afirmações neste post — sem gravações em localStorage, sem transmissão para backend, cabeçalhos CSP — são todas verificáveis lendo o código. O app.js não mostra gravações em APIs de armazenamento do browser. O arquivo de cabeçalhos mostra a CSP. As chamadas fetch mostram exatamente quais URLs recebem o token.

Se estivéssemos mentindo sobre qualquer coisa, levaria trinta minutos para encontrar a mentira. Esse é o ponto. Open source não é apenas uma escolha de licença; para uma ferramenta que lida com credenciais, é a única base honesta para uma afirmação de segurança.

Você deveria verificar ferramentas que lidam com suas credenciais. As ferramentas que resistem à verificação são as que merecem preocupação.

Uma vez satisfeito, vá ao app do figmascope para exportar seu bundle de contexto do Figma e use-o com Claude Code ou Cursor.