Skip to content

Nisaba v0.1.2

Choose a tag to compare

@github-actions github-actions released this 31 Oct 16:03
· 1 commit to main since this release

Nisaba v0.1.2 — Archivo web cifrado y exportaciones de Claude.ai

Encrypted Web Archive & Claude.ai Exports

🇪🇸 Español · 🇬🇧 English


🇪🇸 Español

La versión v0.1.2 introduce el archivo web cifrado (tablilla-web.db + boveda.json) y la importación completa de exportaciones de Claude.ai, tanto desde la aplicación de escritorio como desde la terminal.

Esta actualización amplía las capacidades de Nisaba para preservar, consultar y proteger tus conversaciones, manteniendo el archivo web completamente separado de las sesiones locales y del servidor MCP.

🔐 Archivo web cifrado: protección de doble capa

  • Base de datos independiente: tablilla-web.db, cifrada página a página mediante SQLCipher 4 (AES-256-CBC + HMAC-SHA512).
  • Bóveda de claves: boveda.json, que protege la clave maestra de 32 bytes mediante dos envolturas independientes con Argon2id (64 MiB, 8 pasadas) y AES-256-GCM:
    • Una protegida con tu contraseña.
    • Otra protegida mediante un código de recuperación de un solo uso (XXXX-XXXX-XXXX-XXXX-XXXX-XXXX).
  • Cambio de contraseña sin recifrado: cambiar la contraseña o recuperar el acceso permite volver a envolver la clave maestra sin necesidad de recifrar toda la base de datos.
  • Protección de memoria: los secretos se limpian al liberarse mediante zeroize. SQLCipher funciona con:
    • PRAGMA cipher_memory_security = ON
    • PRAGMA temp_store = MEMORY

📦 Importación completa de Claude.ai

Compatible con conversaciones identificadas mediante el formato cw-xxxxxxxx.

  • Importación flexible:
    • Un archivo .zip individual.
    • Una carpeta que contenga múltiples archivos .zip (formato multi-ZIP de Claude.ai).
  • Integración con proyectos:
    • Vincula conversaciones con sus proyectos mediante projects.json.
    • Conserva las instrucciones de proyecto (prompt_template).
    • Importa documentos asociados (docs[]) como entradas consultables mediante búsqueda.
  • Fusión sin pérdida — «La tablilla solo crece»:
    • Reimportar una exportación idéntica no genera duplicados.
    • Si una conversación incorpora nuevos mensajes, se actualiza.
    • Si una conversación se reduce o diverge de su historial anterior, se conserva íntegramente la versión previa.
    • Las versiones históricas (@1, @2…) pueden consultarse desde el lector.
  • Importación segura y eficiente:
    • Procesamiento en streaming.
    • Protección frente a bombas ZIP.
    • Límite de 20 GiB por importación y 1 GiB por conversación.
    • Rechazo de rutas maliciosas y ataques de path traversal (..).

🛡️ Aislamiento estricto del servidor MCP

El servidor nisaba mcp mantiene un aislamiento explícito entre los archivos locales y las conversaciones web importadas.

  • Solo accede a tablilla.db, que contiene las sesiones locales de Claude Code y Codex.
  • No abre ni accede a tablilla-web.db.
  • No acepta contraseñas del archivo web.
  • Las conversaciones importadas desde Claude.ai quedan fuera del alcance del servidor MCP.

Resultado: los agentes conectados mediante MCP no pueden acceder al contenido del archivo web a través de Nisaba MCP.

🖥️ Mejoras en la aplicación de escritorio (nisaba-gui)

Nuevo panel «Archivo web»

  • Indicador de estado en la cabecera:
    • 🔒 Archivo web — bloqueado.
    • 🔓 Archivo web — desbloqueado.
  • Creación y configuración de la bóveda cifrada.
  • Visualización y guardado del código de recuperación.
  • Bloqueo y desbloqueo del archivo.
  • Cambio de contraseña.
  • Importación de archivos .zip y carpetas mediante selector nativo o arrastrando y soltando en la ventana.

Búsqueda y conversaciones recientes unificadas

Cuando el archivo web está desbloqueado, Nisaba combina automáticamente las conversaciones locales y las importadas desde Claude.ai, ordenándolas por relevancia o fecha.

Nuevo panel lateral «Detalles»

Las conversaciones importadas desde Claude.ai disponen de un panel para consultar:

  • Proyecto: instrucciones y documentos asociados.
  • Adjuntos: contenido textual extraído.
  • Citas web: referencias recuperadas de las conversaciones.
  • Herramientas y artefactos: información y vistas previas HTML/SVG mediante un iframe con sandbox.
  • Ramas: exploración de las distintas ramas de conversación.
  • Versiones: selector de historial (Actual, @1, @2…).
  • JSON original: acceso desde el lector al contenido original almacenado en el archivo cifrado.

⌨️ Nuevos comandos de terminal (nisaba)

Importar exportaciones de Claude.ai

nisaba importar <ruta.zip>
nisaba importar <carpeta>

Alias en inglés: nisaba import.

Buscar en el archivo web cifrado

nisaba buscar "consulta" --web
nisaba buscar "consulta" --web --fuente claude-web

Equivalentes en inglés: search --web y --source claude-web.

Consultar una versión histórica

nisaba ver cw-xxxxxxxx --version 1

Equivalente en inglés: nisaba show cw-xxxxxxxx --version 1.

Gestionar contraseñas y recuperación

nisaba contrasena
nisaba recuperar

Equivalentes en inglés: nisaba password y nisaba recover.

💾 Importante: copias de seguridad

Para conservar y restaurar correctamente el archivo web cifrado, debes respaldar ambos archivos:

  • tablilla-web.db — base de datos cifrada.
  • boveda.json — bóveda que contiene la clave maestra protegida.

Ubicaciones:

Sistema Directorio
Linux ~/.local/share/nisaba/
Windows %APPDATA%\nisaba\

Important

Conserva ambos archivos juntos y guarda tu contraseña o código de recuperación en un lugar seguro. Perder los archivos necesarios para recuperar la clave puede dejar el archivo web inaccesible.


🇬🇧 English

v0.1.2 introduces the Encrypted Web Archive (tablilla-web.db + boveda.json) and full support for importing Claude.ai data exports through both the desktop application and the command-line interface.

This release expands Nisaba's ability to preserve, search, and protect conversations while keeping imported web archives completely separate from local sessions and the MCP server.

🔐 Encrypted Web Archive: Two-Layer Protection

  • Independent database: tablilla-web.db, encrypted page by page using SQLCipher 4 (AES-256-CBC + HMAC-SHA512).
  • Key vault: boveda.json, protecting the 32-byte master key through two independent wrapping mechanisms using Argon2id (64 MiB, 8 passes) and AES-256-GCM:
    • One protected by your password.
    • Another protected by a single-use recovery code (XXXX-XXXX-XXXX-XXXX-XXXX-XXXX).
  • Password changes without database re-encryption: changing your password or recovering access re-wraps the master key without requiring the entire database to be re-encrypted.
  • Memory protection: sensitive data is cleared when released using zeroize. SQLCipher operates with:
    • PRAGMA cipher_memory_security = ON
    • PRAGMA temp_store = MEMORY

📦 Full Claude.ai Export Importer

Supports imported conversations identified by the cw-xxxxxxxx format.

  • Flexible imports:
    • A single .zip file.
    • A folder containing multiple .zip files (Claude.ai's multi-ZIP export format).
  • Project integration:
    • Associates conversations with their projects through projects.json.
    • Preserves project instructions (prompt_template).
    • Imports associated documents (docs[]) as searchable entries.
  • Lossless merging — "The tablet only grows":
    • Reimporting an identical export creates no duplicates.
    • Conversations containing additional messages are updated.
    • If a conversation shrinks or diverges from its previous history, the earlier version is preserved in full.
    • Historical versions (@1, @2…) can be inspected directly from the reader.
  • Secure and efficient import processing:
    • Streaming processing.
    • ZIP-bomb protection.
    • 20 GiB per-import limit and 1 GiB per-conversation limit.
    • Rejection of malicious paths and path-traversal attempts (..).

🛡️ Strict MCP Server Isolation

The nisaba mcp server enforces explicit separation between local archives and imported web conversations.

  • Only accesses tablilla.db, containing local Claude Code and Codex sessions.
  • Never opens or accesses tablilla-web.db.
  • Does not accept web archive passwords.
  • Imported Claude.ai conversations remain outside the MCP server's scope.

Result: agents connected through MCP cannot access the imported web archive through Nisaba MCP.

🖥️ Desktop Application Improvements (nisaba-gui)

New Web Archive Panel

  • Header status indicators:
    • 🔒 Archivo web — locked.
    • 🔓 Archivo web — unlocked.
  • Encrypted vault creation and setup.
  • Recovery code display and saving.
  • Archive locking and unlocking.
  • Password management.
  • Importing .zip files and folders using a native file picker or drag-and-drop.

Unified Search and Recent Conversations

When the web archive is unlocked, Nisaba automatically combines local conversations with imported Claude.ai conversations, sorting results by relevance or date.

New "Detalles" (Details) Sidebar

Imported Claude.ai conversations now include a dedicated panel for inspecting:

  • Project: associated instructions and documents.
  • Attachments: extracted textual content.
  • Web Citations: references preserved from conversations.
  • Tools & Artifacts: information and HTML/SVG previews using a sandboxed iframe.
  • Branches: exploration of conversation branches.
  • Versions: history selector (Actual, @1, @2…).
  • Original JSON: access through the reader to the original content stored in the encrypted archive.

⌨️ New CLI Commands (nisaba)

Import Claude.ai Exports

nisaba import <file.zip>
nisaba import <folder>

Spanish alias: nisaba importar.

Search the Encrypted Web Archive

nisaba search "query" --web
nisaba search "query" --web --source claude-web

Spanish equivalents: buscar --web and --fuente claude-web.

Inspect Historical Conversation Versions

nisaba show cw-xxxxxxxx --version 1

Spanish equivalent: nisaba ver cw-xxxxxxxx --version 1.

Manage Passwords and Recovery

nisaba password
nisaba recover

Spanish equivalents: nisaba contrasena and nisaba recuperar.

💾 Important: Backups

To successfully back up and restore your encrypted web archive, you must preserve both files:

  • tablilla-web.db — encrypted database.
  • boveda.json — vault containing the protected master key.

Locations:

Platform Directory
Linux ~/.local/share/nisaba/
Windows %APPDATA%\nisaba\

Important

Keep both files together and store your password or recovery code securely. Losing the files required to recover the master key may make your encrypted web archive inaccessible.


Nisaba v0.1.2 — Your conversations. Your archive. Your keys.