Cualquiera puede prometer privacidad. Lucent está construido de modo que violarla requeriría un esfuerzo activo: la arquitectura sencillamente no tiene ningún lugar al que enviar tus datos.
Nada sale del dispositivo hasta que tú lo exportas o le das a un modelo un motivo para mirar. Esa es la versión corta; la política completa sigue a continuación, y el código coincide con ella.
Tus notas viven en una base de datos cifrada con SQLCipher; los archivos adjuntos se cifran individualmente. Las rutas críticas —la derivación de claves PBKDF2 y AES-256-GCM— se ejecutan en Rust a través de JNI, con alternativas idénticas en Kotlin para que la app nunca dependa exclusivamente de una biblioteca nativa. Que alguien sostenga tu teléfono desbloqueado es una cosa; quien acceda a tus archivos solo encontrará ruido ininteligible.
Esta es una política real contra ataques de fuerza bruta, no una petición de cortesía: tiempos de espera graduales, un contador persistente que sobrevive a los reinicios, una pregunta de seguridad opcional, una autodestrucción opcional... y la huella digital en Android o Windows Hello en escritorio, que se desactivan cortésmente durante todo el periodo de penalización. Si fallas demasiadas veces, la aplicación deja literalmente de negociar.
Las copias de seguridad son un único archivo .lcb que transporta notas, tareas, historial, chats, adjuntos y ajustes entre dispositivos: revisado antes de alterar un solo elemento, preparado para ejecutarse automáticamente y protegible con contraseña. Una copia que nadie puede leer es un adorno antes que un respaldo, por lo que este archivo se verifica al salir y nuevamente al entrar.
Integración con el menú de compartir del sistema: desactivada. Diagnósticos: desactivados, y guardados solo localmente al activarse. Los servicios de asistente que conectes son por completo tu elección. La réplica en la nube es un módulo que configuras tú mismo mediante WebDAV: tu servidor, tus reglas. No hay nada "habilitado por defecto y escondido en tres submenús" en esta aplicación.
Los modelos en la nube ven con exactitud lo que pones delante de ellos: nada se sincroniza, indexa ni "perfecciona" en segundo plano. ¿Prefieres el modo eremita total? Ejecuta un .gguf localmente y la red puede permanecer apagada por completo. La única excepción deliberada al cifrado es la exportación a Markdown, Word, PDF o Excel: un archivo que puedes abrir en cualquier otra parte, que es precisamente de lo que se trata.
Lucent es una aplicación de notas y tareas para Android y Windows. Esta política describe qué almacena la app, qué envía fuera de tu dispositivo y cómo controlas ambas cosas. Describe a Lucent tal como se compila en este repositorio.
El resto de este documento explica cada una de esas afirmaciones en detalle, incluyendo sus limitaciones.
Lucent es desarrollado por Jessica Martinez. Cualquier pregunta sobre esta política o sobre el tratamiento de datos por parte de la aplicación puede enviarse a yuan47578@gmail.com.
Lucent es software libre publicado bajo la Licencia MIT. La desarrolladora no opera ningún servicio que recopile o almacene datos de usuario, y la aplicación carece de componentes de servidor.
Todo lo que creas en Lucent reside en el almacenamiento privado propio de la aplicación en tu dispositivo. Esa área de almacenamiento no es accesible para otras aplicaciones ordinarias y se elimina cuando desinstalas la app o borras sus datos.
El material almacenado incluye:
La base de datos está cifrada con SQLCipher. En Android la app utiliza Room sobre SQLCipher; en Windows utiliza SQLite a través del controlador JDBC incluido configurado con el cifrado SQLCipher y el mismo tipo de clave de 256 bits. Notas, tareas, conversaciones, historial y ajustes están todos dentro de esa base de datos.
Los archivos adjuntos se cifran por separado. Cada archivo se escribe en un contenedor autenticado AES-256-GCM, en bloques de 64 KiB, antes de llegar al disco. El nombre de archivo en disco es un identificador aleatorio en lugar del nombre que ves en la aplicación.
Las copias de seguridad también están siempre cifradas; consulta la sección 6.
La clave de la base de datos y la clave de adjuntos son valores aleatorios de 256 bits generados en tu propio dispositivo. No se derivan de nada que escribas y no se guardan en el disco en texto plano. En Android están protegidas por una clave almacenada en el Android Keystore, respaldado por hardware cuando el dispositivo lo proporciona, con un respaldo local en la máquina cuando el Keystore no está disponible. Se mantiene una copia de recuperación de cada clave para que un problema con el Keystore no destruya tus datos.
Las claves de API, contraseñas de WebDAV, la contraseña de copia de seguridad y tus credenciales de bloqueo de la app se almacenan a través del mismo mecanismo de secretos cifrados, nunca en texto plano. Tu contraseña de bloqueo de la app y la respuesta de seguridad nunca se almacenan: solo se guarda un hash con sal (salt), del cual no es posible recuperar la contraseña original.
El cifrado aquí protege los datos en reposo: una copia de la base de datos, un archivo adjunto o una copia de seguridad extraída del dispositivo no se pueden leer sin la clave correspondiente. No protege contra alguien que esté utilizando tu dispositivo ya desbloqueado con tu cuenta del sistema operativo, ni protege los datos mientras la aplicación está abierta, ya que el contenido descifrado reside necesariamente en la memoria del dispositivo mientras se muestra o se edita.
Lucent no hace falsas promesas al respecto. Si la biblioteca de cifrado no se puede cargar, o una base de datos no puede ser cifrada o desbloqueada, la aplicación registra el hecho y te informa en lugar de fingir éxito; Ajustes proporciona una verificación de cifrado que comprueba que los valores se sellan y abren correctamente. Si una base de datos no puede descifrarse con la clave almacenada, Lucent la aparta en lugar de borrarla y te lo notifica, de modo que puedas restaurar a partir de una copia de seguridad.
Los widgets de la pantalla de inicio en Android muestran títulos de notas o de tareas en tu lanzador. Todo lo que muestre un widget es visible para cualquiera que pueda ver esa pantalla. Los widgets son opcionales y se pueden quitar en cualquier momento.
Por defecto, no sale absolutamente nada. Lucent no requiere conexión de red para notas, tareas, recordatorios, historial, archivos adjuntos, búsqueda local ni para el asistente en el dispositivo.
Específicamente, Lucent no contiene SDK de analítica, ni SDK de publicidad, ni servicio de informes de fallos (crash-reporting), ni identificadores de seguimiento. No hay sistema de cuentas ni huella digital del dispositivo que se envíe a ninguna parte. Crash Shield, cuando lo activas, registra los errores capturados en un archivo de registro local en el dispositivo y no los transmite. El registro de diagnósticos funciona de la misma manera: está desactivado por defecto, escribe localmente y solo se envía a algún sitio si tú mismo lo exportas y decides compartir el archivo.
Dado que no existe ningún servidor de Lucent, la desarrolladora no tiene forma alguna de leer tus datos ni de recuperarlos en caso de pérdida.
Cada una de las siguientes opciones es voluntaria, viene desactivada por defecto y permanece bajo tu control. Cuando una de ellas está activa, los datos salen del dispositivo directamente desde la app hacia el tercero que tú hayas configurado; nunca pasan a través de ningún servicio de Lucent, puesto que ninguno existe.
El asistente en modo nube utiliza una clave de API que tú proporcionas y un proveedor que tú eliges. Lucent admite los formatos de petición compatibles con OpenAI, Anthropic y Google, y cualquier dirección compatible con OpenAI funciona, incluyendo DeepSeek y servidores autohospedados. Puedes mantener varios perfiles de proveedores y alternar entre ellos.
Cuando envías un mensaje, Lucent realiza una petición HTTPS desde tu dispositivo hacia la URL base que hayas configurado. Esa petición contiene:
Tu clave de API se envía a dicho proveedor en la cabecera de autenticación de la petición. No se envía a ningún otro lugar. Lee la política de privacidad del proveedor elegido para entender qué hace con el texto recibido; esos términos son entre tú y dicho proveedor, y Lucent no tiene visibilidad ni control sobre ellos.
El asistente no puede modificar tus datos silenciosamente. Antes de escribir nada, te muestra lo que tiene intención de hacer, y ese paso de confirmación está activado por defecto. Las herramientas son opcionales: el modelo local tiene su propio interruptor de herramientas, y el acceso a herramientas del asistente en la nube es un ajuste que puedes desactivar. Desactivar cualquiera de ellos significa que el modelo puede conversar pero no puede leer ni modificar tus notas ni tus tareas.
La búsqueda web está desactivada por defecto. Cuando la activas y el asistente decide que se necesita una búsqueda, Lucent envía la consulta a un motor de búsqueda público. Puedes elegir cuál o dejarlo en Automático, que los prueba sucesivamente hasta que uno responde: Bing, DuckDuckGo, Google, Brave, Mojeek, Yandex, Baidu, Sogou, 360 Search y la API de búsqueda de Wikipedia. No se utiliza ninguna clave de API de búsqueda ni se crea ninguna cuenta. El texto de la consulta sale de tu dispositivo; los resultados vuelven al asistente y se incluyen en su respuesta. El motor que responde ve la consulta y tu dirección IP. La búsqueda web requiere el modo agente y, en el modelo local, el interruptor de herramientas; el Modo Blackout la bloquea por completo.
La búsqueda semántica de Lucent sigue al asistente que estés utilizando en cada momento, de modo que no hay nada adicional que configurar. Mientras el modelo local sea el asistente activo, la indexación se mantiene en el dispositivo y no está implementada en la versión actual, por lo que nada sale de él. Mientras el modelo en la nube esté activo, el texto que se indexa se envía al punto final de embeddings de tu proveedor de IA configurado para generar cada vector, lo que implica que el texto de las notas sale de tu dispositivo. Cambiar entre ambos modelos cambia el comportamiento de inmediato.
La copia de seguridad en la nube está desactivada por defecto. Si la activas, proporcionas la dirección, usuario y contraseña de un servicio compatible con WebDAV en el que ya tengas una cuenta, como Nutstore, Nextcloud, Koofr o cualquier otro servidor WebDAV. Lucent sube tus archivos de respaldo .lcb a la carpeta que indiques en ese servidor, y puede listarlos y descargarlos de nuevo para restaurarlos. Los archivos se cifran antes de ser subidos; el servicio almacena el archivo cifrado y las credenciales que introduces se envían a ese servicio para autenticarte. La subida automática a la nube es un interruptor independiente y también está desactivada por defecto.
La comprobación automática de actualizaciones está desactivada por defecto. Cuando la activas, o cuando pides a Lucent que compruebe manualmente, la aplicación solicita la información del último lanzamiento a la API pública de lanzamientos de GitHub para este repositorio y compara los números de versión. La petición no contiene datos personales más allá de los habituales en cualquier petición HTTPS, como tu dirección IP y un agente de usuario que identifica a Lucent. Si existe una versión más reciente, Lucent te la ofrece; el instalador o APK se descarga desde GitHub únicamente si decides actualizar.
Lucent no envía nada hacia el exterior por iniciativa propia. Dos funciones facilitan datos a otras aplicaciones, y ambas están bajo tu control:
Si importas un modelo GGUF, el asistente puede ejecutarlo con llama.cpp directamente en el dispositivo. En ese modo no se envía nada a ninguna parte: no hay cuenta, ni clave de API, ni petición de red en la generación de respuestas. El archivo del modelo permanece en tu dispositivo y se descarga de la memoria al salir de la aplicación. Las herramientas locales son un interruptor separado y están desactivadas por defecto. La aceleración por GPU es opcional y puede desactivarse.
Más allá de notas y tareas, al asistente se le puede dotar de un taller real: una carpeta de espacio de trabajo que puede leer y escribir, comandos de consola, documentos, extensiones y conexiones con servicios externos. Cada uno de ellos es un interruptor independiente en Ajustes → Avanzado → Taller, y las funciones que se comunican con el exterior solo actúan cuando las activas y, por defecto, te piden confirmación previa.
sub-agents del espacio de trabajo en tu dispositivo, y no se envía a ninguna parte.Una copia de seguridad es un único archivo .lcb que tú generas. Puede contener notas, tareas, historial de versiones, cuadernos, conversaciones, archivos adjuntos, ajustes y claves de API, y opcionalmente fuentes importadas y modelos locales. Tú decides qué incluir y dónde se guarda el archivo.
Cada archivo .lcb está cifrado. Existen dos modalidades:
Una copia de seguridad protegida con contraseña puede incluir opcionalmente una pregunta y respuesta de seguridad para poder recuperar la contraseña más adelante. Esa opción está desactivada por defecto y hace que la copia sea tan segura como el elemento más débil entre la contraseña y la respuesta; elige una pregunta cuya respuesta nadie más conozca.
Las copias automáticas, cuando las habilitas, se guardan en la carpeta que elijas, conservan el número de copias que determines y también pueden subirse a tu carpeta configurada de WebDAV. El archivo de copia es el mismo contenedor cifrado en todos los casos. Dónde residen tus copias y cuántas existen es enteramente tu decisión, al igual que su eliminación.
La integración con la consola con privilegios de Lucent es opcional, viene desactivada por defecto y requiere software y permisos externos a Lucent.
En Android, la app puede usar Shizuku para ejecutar operaciones privilegiadas cuando hayas instalado Shizuku, iniciado su servicio y concedido permiso a Lucent en el sistema. Esto existe para realizar acciones que solicites explícitamente y que las aplicaciones comunes no pueden llevar a cabo por sí solas, como instalar una actualización de la app que hayas descargado. Lucent no puede iniciar Shizuku, no puede auto-concederse el permiso y no realiza nada por esta vía a menos que hayas activado la integración y otorgado el permiso. Puedes revocarlo en cualquier momento en Shizuku o en los ajustes de Android, y desactivar la integración en Lucent. La verificación de la identidad privilegiada real se puede comprobar en la app, que muestra el UID obtenido.
Lucent también declara los permisos ordinarios de Android que necesita, cada uno para una finalidad concreta; consulta la sección 8.
Lucent no solicita acceso general a tus archivos ni a tu almacenamiento a menos que actives el taller del agente y lo vincules a una carpeta de trabajo, en cuyo caso el acceso total es lo que permite que esa carpeta concreta se lea y escriba como archivos corrientes; puedes rechazarlo y conservar el espacio de trabajo dentro del almacenamiento propio de Lucent. En el resto de casos, los archivos y carpetas son seleccionados por ti mediante el selector del sistema, y Lucent solo recibe el elemento exacto que hayas seleccionado. Las fuentes y los modelos funcionan igual: los seleccionas tú y se copian al almacenamiento privado de la app.
| Permiso | Por qué lo solicita Lucent |
|---|---|
Acceso a la red (Android INTERNET) | Enviar mensajes al proveedor de asistente configurado, búsqueda web cuando la activas, copias de seguridad WebDAV cuando las activas y comprobación de actualizaciones cuando las activas. Nada se envía sin que alguna de estas funciones esté activa. |
Notificaciones (Android POST_NOTIFICATIONS) | Mostrar recordatorios de tareas y el progreso de descargas, copias de seguridad o generaciones que hayas iniciado. |
Alarmas exactas (Android SCHEDULE_EXACT_ALARM) | Activar recordatorios de tareas en el momento exacto programado y no de forma aproximada. |
Ejecutar al inicio (Android RECEIVE_BOOT_COMPLETED) | Volver a registrar tus recordatorios tras reiniciar el dispositivo, para que un recordatorio fijado para mañana sobreviva al reinicio. |
Servicio en primer plano (Android FOREGROUND_SERVICE, FOREGROUND_SERVICE_DATA_SYNC) | Mantener en ejecución una copia de seguridad, descarga o generación con modelo cuando la app no está visible en pantalla, evitando que el sistema la cierre a medias. |
Desbloqueo biométrico (Android USE_BIOMETRIC; Windows Hello en Windows) | Permitirte desbloquear la app con huella dactilar o rostro en lugar de escribir la contraseña de bloqueo. Opcional, desactivado por defecto y usado exclusivamente para el desbloqueo local. |
Vibración (Android VIBRATE) | Respuesta háptica y táctil al escribir y usar controles. |
Instalar paquetes (Android REQUEST_INSTALL_PACKAGES) | Instalar una actualización que hayas decidido descargar, mediante el instalador del sistema. |
Permiso de servicio Shizuku (Android moe.shizuku.manager.permission.API_V23) | La integración privilegiada opcional descrita en la sección 7. Solo declarada para poder usar Shizuku si existe; no tiene efecto alguno a menos que instales Shizuku y le concedas autorización. |
Acceso a todos los archivos (Android MANAGE_EXTERNAL_STORAGE) | Opcional, desactivado a menos que lo concedas, y utilizado únicamente para que la carpeta de espacio de trabajo que elijas pueda leerse y escribirse como archivos comunes. Sin él, Lucent mantiene el espacio de trabajo dentro de su propio almacenamiento. |
Ubicación (Android ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION) | Solo se lee cuando el asistente invoca su herramienta de ubicación, lo que a su vez solo ocurre si el control de dispositivo está habilitado y has otorgado el permiso. Lucent nunca rastrea tu ubicación en segundo plano. |
Lucent no solicita acceso general a tus archivos ni a tu almacenamiento a menos que actives el taller del agente y lo vincules a una carpeta de trabajo, en cuyo caso el acceso total es lo que permite que esa carpeta concreta se lea y escriba como archivos corrientes; puedes rechazarlo y conservar el espacio de trabajo dentro del almacenamiento propio de Lucent. En el resto de casos, los archivos y carpetas son seleccionados por ti mediante el selector del sistema, y Lucent solo recibe el elemento exacto que hayas seleccionado. Las fuentes y los modelos funcionan igual: los seleccionas tú y se copian al almacenamiento privado de la app.
La privacidad en Lucent se materializa en una serie de interruptores, todos en tus manos, todos en Ajustes. Los principales son:
Lucent conserva tus datos en tu dispositivo hasta que decidas eliminarlos. Las notas y tareas que borras van primero a la papelera y se eliminan permanentemente tras 30 días, a menos que vacíes la papelera o borres todos los datos antes. El historial de versiones se conserva solo mientras su ajuste correspondiente esté activo, y se suprime junto con la nota o tarea a la que pertenezca.
Para borrar todo:
Si deseas que esos datos también desaparezcan, elimina dichos archivos y utiliza las herramientas de supresión de los respectivos proveedores.
Tres elementos escapan al alcance de Lucent y la aplicación no puede borrarlos por ti:
Si deseas que esos datos también desaparezcan, elimina dichos archivos y utiliza las herramientas de supresión de los respectivos proveedores.
Lucent es una aplicación general de notas y tareas. No está dirigida a menores, carece de sistema de cuentas, no incluye publicidad ni funciones sociales, y la desarrolladora no recopila datos personales de nadie, incluidos menores. La información de la aplicación permanece en el dispositivo de quien la utiliza.
Si una futura versión de Lucent modifica el tratamiento de los datos, esta política se actualizará y la fecha indicada en la cabecera cambiará. Las modificaciones sustanciales, es decir, las que afecten a qué información sale de tu dispositivo, se describirán en las notas de lanzamiento de la versión que las incorpore. La versión de la política aplicable a tu caso es la distribuida con la versión de Lucent que estés ejecutando, y su evolución histórica puede consultarse en el historial de confirmaciones (commits) del repositorio.
Preguntas, sugerencias o dudas relativas a la privacidad en Lucent pueden remitirse a yuan47578@gmail.com.
Desarrolladora: Jessica Martinez
Copyright © 2026-2027 Jessica Martinez.