Para usar cualquier herramienta de Figma de terceros, generas un Personal Access Token en la configuración de Figma y lo pegas en la herramienta. Esto es básico. Cada integración de Figma lo pide.

Lo que la mayoría de las personas no registra del todo: ese token no lee "un archivo". Lee cada archivo al que tu cuenta puede acceder. Cada archivo privado. Cada biblioteca organizacional. Cada proyecto compartido. El alcance predeterminado de un PAT de Figma es toda la superficie de lectura de tu cuenta.

Para un diseñador individual con una cuenta personal, eso es un riesgo moderado. Para un diseñador de plantilla en una empresa con bibliotecas de diseño compartidas que contienen productos no lanzados, activos de marca y herramientas internas — es significativo. Y para esos diseñadores, "pegué mi token de Figma en esta herramienta que encontré" es un evento de seguridad.

figmascope está diseñado para que ese evento no ocurra.

Qué otorga un PAT de Figma

La autenticación de la API de Figma está basada en PAT. Un token se autentica como tú. La API no impone alcance por archivo a nivel de token — impone acceso a archivos basado en los permisos de tu cuenta. Si tu cuenta puede ver un archivo, el PAT puede leerlo a través de la API.

El alcance predeterminado del PAT otorga acceso de lectura a:

Figma introdujo un tipo de token con más alcance en 2023 — tokens donde puedes seleccionar qué alcances otorgar. Pero la UI predetermina al token amplio, y la mayoría de los tutoriales te dicen que generes un token sin especificar el alcance. En la práctica, la mayoría de los PAT que circulan en el historial del portapapeles de los diseñadores son tokens de lectura completa.

El modelo de amenaza para las herramientas que aceptan PAT

Una herramienta que acepta un PAT de Figma y tiene un backend enfrenta una amenaza específica: el backend almacena tu token (para llamar a Figma en tu nombre), y ese almacenamiento es un objetivo. Si el backend se ve comprometido, todos los PAT almacenados allí se ven comprometidos. Si el backend sufre una brecha de base de datos, el acceso a Figma de todos los usuarios queda expuesto.

Esto no es hipotético. Las brechas de almacenamiento de tokens OAuth han ocurrido en muchos servicios. El patrón es: el usuario otorga acceso, el servicio almacena el token, el servicio sufre una brecha, el atacante extrae tokens, el atacante ahora tiene acceso a todo lo que esos tokens pueden alcanzar. Para los tokens de Figma en una empresa, "todo lo que esos tokens pueden alcanzar" es el sistema de diseño completo.

Las herramientas basadas en backend tienen que resolver este problema. Las buenas lo hacen: cifrado en reposo, tokens de corta duración, flujos de trabajo de re-autenticación, registro de auditoría. Resolverlo correctamente es un problema de ingeniería de seguridad de nivel empresarial. La mayoría de las herramientas no lo resuelven correctamente; simplemente no han sufrido una brecha todavía.

El almacenamiento de tokens más seguro es no almacenar en absoluto. Si tu arquitectura nunca persiste el token, no hay nada que vulnerar. Esta es la elección arquitectónica que hace figmascope — y no es solo una característica, es todo el modelo de seguridad.

La arquitectura de figmascope

figmascope corre completamente en el navegador. No hay servidor backend. No hay base de datos. No hay gestión de sesiones, no hay cuentas de usuario, no hay capa de almacenamiento de tokens. La aplicación es un bundle HTML/CSS/JS estático servido desde una CDN. Cuando lo usas, el cómputo ocurre en tu pestaña de navegador. Nada se envía a los servidores de figmascope porque no hay servidores de figmascope.

El flujo del PAT funciona así:

  1. Introduces tu PAT en el campo de entrada.
  2. El valor se almacena en una variable de closure de JavaScript — un simple enlace let de JS dentro del módulo de la aplicación.
  3. Nunca se escribe en localStorage. Nunca se escribe en sessionStorage. Nunca se configura como cookie. Nunca se escribe en indexedDB. Nunca se envía a ninguna URL que no sea los dos endpoints de la API de Figma.
  4. Cuando haces una exportación, el token se pasa como el encabezado X-Figma-Token en las llamadas fetch() a api.figma.com y la CDN de Figma para los activos de imagen.
  5. Cuando cierras o recargas la pestaña, la memoria JS se libera. El token desaparece.

Este es el ciclo de vida completo. Sin persistencia en ningún lugar. Sin transmisión de red excepto directamente a Figma.

Aplicación de la Política de Seguridad de Contenido

Para hacer que la propiedad "solo se envía a Figma" sea verificable en lugar de solo afirmada, figmascope despliega una Content Security Policy que bloquea connect-src a los dos hosts permitidos:

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

La CSP es aplicada por el navegador. Incluso si hubiera una vulnerabilidad de inyección de scripts en la página, el navegador bloquearía cualquier intento de enviar el token a un host de terceros. Las peticiones de red a cualquier otro destino fallan a nivel del navegador, antes de que salgan de la máquina.

Esta es defensa en profundidad. El código de la aplicación ya no envía el token a ningún otro lugar. La CSP hace que el código de la aplicación no pueda enviarlo a ningún otro lugar incluso si lo intentara.

Ruta de recuperación

Dado que el token está solo en memoria, la recuperación es trivial: cierra la pestaña. El token desaparece. Sin paso de revocación, sin "eliminar cuenta," sin "cerrar sesión." Pestaña cerrada = token desaparecido.

Este es también el comportamiento correcto desde una perspectiva de seguridad operacional. Las ventanas de credenciales de corta duración minimizan la exposición. Abres figmascope, pegas tu PAT, haces tus exportaciones, cierras la pestaña. La ventana en la que el PAT es accesible es exactamente la duración de esa sesión de navegador. Contrasta esto con una herramienta backend donde tu token puede almacenarse durante meses, activo y accesible, hasta que lo revoques explícitamente.

Recomendaciones independientemente de la herramienta

Incluso con la arquitectura en memoria de figmascope, la buena higiene del PAT importa:

Usa un token con alcance limitado. Figma ahora admite tokens con alcances explícitos. Para operaciones de solo lectura como las exportaciones de figmascope, un token de solo lectura es suficiente y limita el radio de impacto si alguna vez se expone. Genera un token con alcance file_read solamente, no el alcance amplio predeterminado.

Revoca los tokens que no usas activamente. La configuración de Figma muestra todos los PAT activos. Los tokens que generaste para un proyecto que terminó deben revocarse. Un token que generaste para figmascope hace seis meses y que no has usado desde entonces puede revocarse y regenerarse la próxima vez que lo necesites.

Nunca pegues tokens en herramientas con backends a menos que hayas verificado su postura de seguridad. Pregunta: ¿este servicio tiene un backend? Si es así, ¿dónde y cómo almacena mi token? Si la respuesta no es satisfactoria, o si no hay respuesta, trátalo como un riesgo. Esto se aplica a todas las herramientas de Figma, no solo a figmascope.

Usuarios empresariales: usa cuentas de servicio compartidas donde sea posible. Si tu organización puede crear una cuenta de servicio de Figma con acceso de solo lectura a proyectos específicos, generar PAT desde esa cuenta en lugar de tu cuenta personal limita lo que es accesible a esos proyectos.

Lo que no afirmamos

La arquitectura de solo navegador de figmascope minimiza la superficie de ataque para el robo de credenciales del lado del servidor. No elimina todas las preocupaciones de seguridad:

No afirmamos que esto sea un sustituto de las auditorías de seguridad de nivel empresarial. Afirmamos: la arquitectura hace que una clase específica de ataque — la brecha de base de datos de tokens del lado del servidor — sea estructuralmente imposible al eliminar el servidor. Esa es una reducción significativa de la superficie de ataque, no inmunidad completa.

Por qué el código abierto importa aquí

Las afirmaciones de seguridad no valen nada sin verificabilidad. figmascope tiene licencia MIT y el código fuente completo está en GitHub. Las afirmaciones de este artículo — sin escrituras en localStorage, sin transmisión al backend, encabezados CSP — son todas verificables leyendo el código. El app.js no muestra escrituras a las APIs de almacenamiento del navegador. El archivo de encabezados muestra la CSP. Las llamadas fetch muestran exactamente qué URLs reciben el token.

Si mintiéramos sobre algo de esto, tomaría treinta minutos encontrar la mentira. Ese es el punto. El código abierto no es solo una elección de licencia; para una herramienta que maneja credenciales, es la única base honesta para una afirmación de seguridad.

Debes verificar las herramientas que manejan tus credenciales. Las herramientas que resisten la verificación son las que vale la pena preocuparse.

Una vez que estés satisfecho, ve a la app de figmascope para exportar tu bundle de contexto de Figma y usarlo con Claude Code o Cursor.