Centro de confianza

Tu portapapeles se queda en tu PC. Así lo hace, y aquí es donde termina.

Cada afirmación de esta página se ha comprobado con el código fuente, y a su lado se indica el código que la hace cumplir. Donde ClipVault no puede protegerte, esta página lo dice.

Comprobado con ClipVault 0.1.0 · página generada el 2026-09-15

Principios

Cuatro promesas que impone el código

No son normas que alguien tenga que recordar: cada una la sostiene una comprobación o una prueba que hace fallar la compilación.

Red

El contenido de los clips no puede salir del PC

Solo un archivo del programa, net.py, puede abrir una conexión, y su única función, get_json(url, allowed), no tiene ningún argumento que pueda llevar un cuerpo de petición. No existe ninguna ruta de código que suba un clip, porque no hay con qué subirlo.

Lo impone scripts/check_network.py en cada push: la compilación falla si cualquier otro módulo importa una biblioteca de red o si la pasarela adquiere un argumento data, body, payload, content o text.

Telemetría

Sin telemetría, ni siquiera como opción

El programa no tiene estadísticas de uso, informes de errores ni analítica. En el archivo de ajustes sigue existiendo un campo telemetry, pero nada lo lee para enviar nada, y Config.normalize() lo fuerza a false cada vez que se cargan o se guardan los ajustes, diga lo que diga el archivo.

src/clipvault/config.py — cada carga y cada guardado pasan por normalize().

Actualizaciones

La búsqueda de actualizaciones y las novedades solo se activan si tú quieres

Ambas vienen desactivadas en una instalación nueva, y ClipVault pregunta en el primer arranque. Di que no y nunca abrirá una conexión. Di que sí y una vez al día hará una única petición HTTPS GET de un pequeño archivo de versión — sin cuerpo, sin cookies, sin identificador; la única cabecera que añade indica ClipVault y su versión. Se rechazan el HTTP sin cifrar y las redirecciones, y una respuesta de más de 64 KB se descarta.

net.get_json, updates.fetch. Una organización puede desactivar ambas con las directivas DisableUpdateCheck y DisablePromos.

Enlace de actualización

“Obtener la nueva versión” solo puede llevar al sitio oficial

El archivo de versión es algo que el programa descarga, no algo en lo que confía. Su enlace solo se conserva si es una ruta del sitio de ClipVault o una dirección https del mismo host, así que un archivo manipulado no puede llevarte a una descarga que imite a la oficial. El número de versión solo se acepta como dígitos y puntos, así que tampoco puede llevar un mensaje.

updates.official_link, updates.clean_version — se aplican también a la copia en caché.

Flujo de datos

Adónde va un clip, paso a paso

Todo lo que hay en el recuadro superior ocurre en tu PC, con tu cuenta de Windows. El recuadro inferior es la única vía de red del programa, y no tiene acceso a tus clips.

Flujo de datos de ClipVault Un clip copiado pasa por el filtro de captura, que descarta los clips marcados como “no registrar” o copiados desde apps excluidas. La detección busca credenciales; una credencial se cifra con Windows DPAPI y, si el cifrado falla, no se guarda en absoluto. Los clips se guardan en una base de datos SQLite local en %LOCALAPPDATA%\ClipVault, cuya carpeta tiene los permisos restringidos a tu cuenta. Un clip sale del almacenamiento solo para pegarse en una ventana confirmada en primer plano, y después una credencial pegada se borra del portapapeles. Aparte, y solo si lo activas, el programa envía una petición HTTPS GET de un archivo de versión; en esa vía no hay datos de clips.
Este PC · tu cuenta de Windows
1PortapapelesCopias texto, una imagen o archivos en cualquier app.
2Filtro de capturaMarcas de exclusión · apps excluidas · directiva de la organización
3DetecciónBusca credenciales en los primeros 1.000.000 caracteres
4Cifrado DPAPISolo credenciales. Si el cifrado falla, el clip no se guarda.
otros clips
Nunca se guardaMarcado como “no registrar” por su app, o copiado desde una app excluida
5Base de datos localSQLite en %LOCALAPPDATA%\ClipVault · permisos de carpeta solo para ti
6Ventana y pegadoLas teclas solo van a una ventana confirmada en primer plano
7Borrado tras pegarUna credencial pegada se borra a los 30 s, salvo que copies algo nuevo
Ningún camino de tus clips a la red
La única vía de red · desactivada salvo que la actives
Buscar actualizacionesUna vez al día, solo si lo permitiste
HTTPS GET · sin cuerpo · sin cookies
release.json en el sitio de ClipVaultLa última versión, un enlace a las notas y novedades opcionales: la misma respuesta para todos
Se envía: la dirección de ese archivo y un User-Agent con el nombre y la versión de ClipVault, desde tu dirección IP. Nunca se envía: clips, historial, ajustes ni ningún identificador.
Flujo de datos de ClipVault Un clip copiado pasa por el filtro de captura, que descarta los clips marcados como “no registrar” o copiados desde apps excluidas. La detección busca credenciales; una credencial se cifra con Windows DPAPI y, si el cifrado falla, no se guarda en absoluto. Los clips se guardan en una base de datos SQLite local en %LOCALAPPDATA%\ClipVault, cuya carpeta tiene los permisos restringidos a tu cuenta. Un clip sale del almacenamiento solo para pegarse en una ventana confirmada en primer plano, y después una credencial pegada se borra del portapapeles. Aparte, y solo si lo activas, el programa envía una petición HTTPS GET de un archivo de versión; en esa vía no hay datos de clips.
Este PC · tu cuenta de Windows
1PortapapelesCopias texto, una imagen o archivos en cualquier app.
2Filtro de capturaMarcas de exclusión · apps excluidas · directiva de la organización
3DetecciónBusca credenciales en los primeros 1.000.000 caracteres
4Cifrado DPAPISolo credenciales. Si el cifrado falla, el clip no se guarda.
5Base de datos localSQLite en %LOCALAPPDATA%\ClipVault · permisos de carpeta solo para ti
6Ventana y pegadoLas teclas solo van a una ventana confirmada en primer plano
7Borrado tras pegarUna credencial pegada se borra a los 30 s, salvo que copies algo nuevo
Ningún camino de tus clips a la red
La única vía de red · desactivada salvo que la actives
Buscar actualizacionesUna vez al día, solo si lo permitiste
HTTPS GET · sin cuerpo · sin cookies
release.json en el sitio de ClipVaultLa última versión, un enlace a las notas y novedades opcionales: la misma respuesta para todos
Se envía: la dirección de ese archivo y un User-Agent con el nombre y la versión de ClipVault, desde tu dirección IP. Nunca se envía: clips, historial, ajustes ni ningún identificador.

Filtro. Un clip que su app marcó como “no registrar” — las marcas estándar que ponen KeePass, 1Password y Bitwarden — ni siquiera se lee. Un clip de una app excluida se descarta antes de guardarse; la lista predeterminada incluye gestores de contraseñas y módulos de seguridad de la banca coreana. La directiva de la organización puede añadir apps y desactivar la captura de imágenes o archivos. win/clipboard.read, Vault._gate

Cifrado que falla de forma segura. Una credencial se cifra con Windows DPAPI y se elimina su texto, así que nunca llega al índice de búsqueda. Si DPAPI no está disponible o falla, el clip se descarta en lugar de conservarse en claro. Vault._protect

Almacenamiento. En el primer arranque la carpeta deja de heredar permisos y a tu cuenta se le concede acceso de forma explícita, así que un cambio en una carpeta superior no puede ampliarlo. Las credenciales se desduplican con un hash con clave, así que la base de datos no contiene ninguna huella adivinable del valor. win/acl.harden_once, Vault._dedupe_key

Pegado. ClipVault devuelve el foco a la ventana de la que venías y vuelve a comprobar que está en primer plano justo antes de enviar Ctrl+V. Si no puede confirmarlo, no envía nada y el clip te espera en el portapapeles. Una credencial que coloca en el portapapeles lleva ella misma las marcas de “no registrar”, así que el historial del portapapeles de Windows y otros gestores la ignoran. actions.deliver, win/exclusions.exclusion_payloads

Borrado. Después de pegar una credencial, el portapapeles se vacía a los 30 segundos por defecto, pero solo si no se ha copiado nada nuevo desde entonces. actions.clear_if_unchanged

Red. La petición la hace una función que recibe una dirección y tu consentimiento, y nada más, así que ningún dato de los clips está a su alcance. Rechaza el HTTP sin cifrar y las redirecciones, y descarta las respuestas de más de 64 KB. net.py, updates.fetch

Modelo de amenazas

Contra qué protege y contra qué no

Un programa local puede dificultar algunos ataques. No puede hacer segura una cuenta de Windows comprometida, y afirmar lo contrario te enseñaría a confiar en lo que no debes.

Protege contra

  • Una copia del archivo de base de datos o una copia de seguridad. Las credenciales que contiene son texto cifrado con DPAPI vinculado a tu cuenta de Windows, y sus huellas llevan clave.
  • Otras cuentas del mismo PC. Los permisos de la carpeta están fijados a tu cuenta, y las claves de DPAPI pertenecen a una sola cuenta.
  • Secretos copiados desde gestores de contraseñas. Los clips con las marcas de exclusión estándar se omiten sin leerse.
  • Una mirada a la lista. Las filas de credenciales están ocultas; el valor solo aparece al pulsar Ctrl+R.
  • Pegar en la ventana equivocada. No se envía ninguna pulsación salvo que se confirme que la ventana de destino está en primer plano.
  • Un archivo de versión o de importación manipulado. Los enlaces de actualización se limitan al host oficial, y una importación se vuelve a comprobar a partir de su contenido: rutas, hashes y etiquetas se recalculan.
  • Texto diseñado para bloquear la app. Los patrones de detección están acotados, y solo se analizan los primeros 1.000.000 caracteres.

No protege contra

  • Malware que se ejecuta como tú. Cualquier programa con tu cuenta de Windows puede leer el portapapeles y pedir a DPAPI que descifre, exactamente igual que ClipVault.
  • Administradores del PC. Una cuenta de administrador puede leer los archivos de otras cuentas y actuar como ellas.
  • Otras apps mientras algo está en el portapapeles. El portapapeles de Windows lo comparten todos los programas en ejecución. Vaciarlo después de pegar acorta ese intervalo, y solo para credenciales.
  • Lo que hay en pantalla. Un valor que muestras puede verse mediante grabación de pantalla, pantalla compartida, lectores de pantalla y cualquiera que esté cerca.
  • Credenciales que no reconoce. La detección busca formatos y etiquetas conocidos. Una contraseña suelta sin etiqueta parece texto normal y se guarda como texto normal.
  • Clips normales. El texto, las imágenes y las rutas de archivo que no son credenciales se guardan sin cifrar en tu carpeta, protegidos solo por los permisos de Windows, incluidas las direcciones de correo y los números de teléfono.
  • Ajustes que cambias. Con el cifrado desactivado, las credenciales se ocultan pero no se cifran. Un archivo que exportas queda bajo tu responsabilidad.
  • Que se vea que buscas actualizaciones. Mientras la búsqueda de actualizaciones está activada, el host del sitio ve tu dirección IP y tu versión de ClipVault una vez al día.

Es el mismo límite que el programa indica en Consola de administración → Seguridad: el cifrado garantiza que el archivo de base de datos por sí solo no se puede leer, y nada más.

Detección de credenciales

Qué busca

La detección etiqueta un clip; nunca lo borra. Un clip etiquetado como credencial se cifra y se oculta. Solo se niega a guardarlo si lo activas tú o la directiva de tu organización.

Contraseñas

Una etiqueta con un valor — “password:”, “비밀번호:”, “contraseña=” y la palabra para contraseña en los doce idiomas en los que se distribuye la app, incluidos los dos puntos de ancho completo. También direcciones de la forma scheme://user:password@host.

Claves de API y tokens

Formatos conocidos de OpenAI, Anthropic, Stripe, GitHub, GitLab, npm, SendGrid, AWS, Slack y Google; valores etiquetados como api_key= o client_secret:; líneas de .env como DB_PASSWORD=; claves de cadenas de conexión de Azure.

URL de webhooks

Direcciones de webhooks de Slack y Discord, que son credenciales en sí mismas.

Claves privadas

Bloques de clave privada PEM.

JSON Web Tokens

Tres segmentos base64url que empiezan por eyJ.

Números de tarjeta

De 13 a 19 dígitos que superan la comprobación de Luhn. Se ignoran las series de relleno como 0000 0000 0000 0000.

Números de registro de residente coreanos

Se comprueban la fecha y el dígito de control.

Direcciones de correo y números de teléfono

Se etiquetan como datos personales, pero no se cifran: la gente los copia a propósito.

Hecho para no bloquearse

La detección se ejecuta en cada copia, así que un patrón lento congelaría el atajo de teclado. Cada repetición de cada patrón tiene un límite superior, y las pruebas usan 14 entradas maliciosas y fallan si cuadruplicar una entrada multiplica el tiempo por más de ocho, la señal del retroceso catastrófico. Solo se analizan los primeros 1.000.000 caracteres de un clip, y el programa nunca guarda más texto del que analiza.

sensitive.DETECT_LIMIT, Config.normalize, tests/test_security.py

Para organizaciones

La directiva solo puede hacerlo más estricto

Los departamentos de TI pueden imponer ajustes con directiva de grupo o Intune en HKLM\SOFTWARE\Policies\ClipVault. Se leen tanto las claves de directiva de equipo como las de usuario, y gana el valor más estricto; los usuarios estándar no pueden escribir en ninguna de las dos.

  • 19 reglas. No guardar credenciales, exigir cifrado, limitar la retención y el número de clips, imponer un tiempo de borrado tras pegar, añadir apps excluidas, acortar la retención de apps concretas, añadir reglas de detección, desactivar la captura de imágenes o archivos, la exportación, la búsqueda de actualizaciones o las novedades, restringir los permisos de la carpeta, exigir la protección contra capturas de pantalla desactivar el modo privado o exigir confirmación al pegar una credencial en un programa nuevo.
  • No hay interruptor para relajar. Ninguna directiva desactiva el cifrado, quita una app excluida ni activa nada que use la red: una prueba hace fallar la compilación si el nombre de una directiva no empieza por Disable, Require, Max, Excluded o LockDown.
  • Los valores ilegibles se ignoran, nunca se interpretan como permiso.
  • Nada oculto al usuario. Los ajustes bloqueados aparecen atenuados, y la consola de administración muestra las reglas en vigor.

Plantilla de directiva de grupo

ADMX con ADML en inglés y coreano, más una guía de cada valor. Funciona con directiva de grupo y con la importación de ADMX de Intune.

Descargar ClipVault-policy.zip
Cadena de suministro

Qué va dentro del ejecutable

Menos piezas significa menos lugares por donde puede colarse código ajeno.

  • Sin bibliotecas de terceros. El programa usa solo la biblioteca estándar de Python: Win32 mediante ctypes, la interfaz mediante tkinter, el almacenamiento mediante sqlite3 y un códec PNG escrito en el propio proyecto. PyInstaller se usa solo para empaquetarlo. scripts/check_stdlib_only.py lee cada import y hace fallar la compilación ante cualquier otra cosa.
  • Una sola puerta de red, comprobada por máquina. scripts/check_network.py mantiene el código de red dentro de net.py e impide que tenga ningún argumento de cuerpo.
  • Comprobado en cada push. El conjunto completo de pruebas, la comprobación de dependencias, la de red, las pruebas del contador de descargas y las comprobaciones de traducción se ejecutan en Windows en la CI.

Esta compilación tiene firma de código

ClipVault.exe está firmado por PROJECTTEAMFORYOU mediante Azure Artifact Signing. Para comprobarlo, haz clic derecho en el archivo → PropiedadesFirmas digitales. Cuando la firma está configurada, la compilación se niega a terminar sin firmar, y la firma se verifica de nuevo antes de que los archivos salgan de la máquina de compilación.

Este sitio web

Qué guarda el contador de descargas

El sitio web cuenta las descargas para que sepamos qué archivos se usan. Guarda un recuento, no un registro.

Se guarda

  • La fecha (UTC)
  • El nombre del archivo
  • Un código de país de dos letras obtenido de la red del proveedor de alojamiento

Nunca se guarda

  • Tu dirección IP
  • Tu User-Agent — solo se lee para descartar bots y vistas previas de enlaces
  • La página de la que vienes
  • Cookies ni ningún otro dato sobre ti

Las descargas reanudadas y los rastreadores no se cuentan, y la búsqueda de actualizaciones del programa no se cuenta en absoluto: aceptar una comprobación de versión no es aceptar que te cuenten. deploy/cloudflare/lib/downloads.js

Los clics en nuestros propios anuncios —en este sitio web o, si activaste las novedades, en las novedades del programa— se cuentan igual: fecha, anuncio y país. El programa nunca muestra anuncios en la ventana emergente y nunca muestra anuncios de nadie más. deploy/cloudflare/lib/ads.js

Divulgación responsable

¿Has encontrado una vulnerabilidad? Avísanos primero.

Infórmanos en privado por correo electrónico, para que pueda corregirse antes de hacerse pública.

Informar de problemas de seguridad security@clipvault.dev
Escribir un informe de seguridad

Nuestro objetivo es acusar recibo de un informe en un plazo de 3 días hábiles y acordar contigo una corrección y una fecha de divulgación. Es un objetivo, no una garantía: ClipVault lo hace un equipo pequeño.

Incluye, por favor

  1. La versión de ClipVault (clipvault-cli --version) y tu versión de Windows
  2. Los pasos para reproducirlo y lo que obtendría un atacante
  3. Una prueba de concepto, si la tienes
  4. Si piensas publicarlo y cuándo

No envíes contraseñas reales ni datos del portapapeles de otras personas, y haz pruebas solo en equipos y cuentas que sean tuyos.

No hay un programa de recompensas pagadas. Si quieres, te daremos las gracias con tu nombre en las notas de la versión.

Contacto legible por máquinas: security.txt →