Plugin - Eccirian Refactored: Better Encryption for Obsidian

Previous Post Here: Plugin - Eccidian

The plugin is now available on the plugin platform.

Eccirian Encrypt is a powerful, security-focused Obsidian plugin, provides seamless file encryption with advanced features.

It introduces custom file extensions and provides a unique read-only view for locked files, allowing you to easily manage sensitive information directly in Obsidian. It is also the only plugin that supports one-click encryption of all link attachments.

Why Eccirian?

Attachment Encryption

Unlike other encryption plugins that only encrypt note content, Eccirian can encrypt your attachments (images, PDFs, documents) alongside your notes.

Lightning Fast

Zero performance overhead. Encryption and decryption happen instantly with no noticeable lag.

Flexible Mode Switching

  • Temporary Mode (.eccirian) - One-time password, auto-decrypt on open
  • Permanent Mode (.peccirian) - Persistent encryption, password required every time

Multiple Encryption Algorithms

  • AES-256-GCM - Industry standard symmetric encryption
  • ECC + AES - Hybrid encryption for maximum security

Major Refactor Release v0.9.8

This is a major refactor release with significant architectural improvements and bug fixes.
Development took longer than usual to ensure stability and quality. Special thanks to the community for valuable feedback that shaped this release.


What‘s New

  • Automatically encrypts linked attachments (images, PDFs, documents) when encrypting notes
  • Supports multiple file types: images (png, jpg, gif, svg), documents (pdf, docx, xlsx), media files, and more
  • Currently supports Temporary mode only - Permanent mode attachment encryption coming in future releases
  • Toggle on/off via settings: “Encrypt Attachments”

Refactored

Bug Fixes

  • Fixed backlink restoration issue - Encrypted notes now properly restore to original extension when decrypted
  • Fixed “RangeError: Field is not present in this state” when canceling password input
  • Fixed “Uncaught UserCancelled” error when canceling password input
  • Fixed file switching logic - Removed forced close/reopen behavior

File Handling Improvements

  • Improved originalExt handling all types of file
  • Improved view lifecycle management

Architecture

  • Base64 encoding for binary files
  • Improved path resolution for attachments (relative paths and common attachment folders)

Code Quality

  • Refactored file switching logic in peccirianView
  • Removed redundant handlePeccirianFile method and merged the logic into onLoadFile
  • Added onUnloadFile override
  • Enhanced attachment link detection with regex patterns for both wiki and markdown links

Performance

  • Optimized file encryption workflow
  • Better memory management during view transitions
  • Reduced unnecessary file operations

UI/UX Improvements

  • New settings option “Encrypt Attachments”
  • Improved error messages
  • Smoother file switching experience
  • Better handling of edge cases

Localization

  • Updated English translations
  • Updated Chinese translations

:warning: Warnings

  • Attachment encryption only works in Temporary mode (.eccirian)
  • Permanent mode (.peccirian) attachment encryption not yet supported
  • Large binary files may experience slight performance impact due to Base64 encoding (~30% size increase)

Coming Soon

  • Permanent mode attachment encryption with preview support
  • Folder encryption support
1 Like