Muito legal o projeto, valeu por compartilhar! Dei uma olhada no LaCryptJS e a premissa de manter a chave apenas no front-end é exatamente o que busco com o TooliSafe.
Essa questão de 'não tratar os dados no servidor' é justamente o grande divisor de águas. No meu caso, como o TooliSafe é focado em arquivos e textos locais (Local-first), eu consigo evitar esse problema do servidor, mas ganho o desafio de gerenciar a performance da derivação de chave (Argon2/PBKDF2) direto no dispositivo móvel.
No LaCryptJS, como você tem lidado com o tempo de derivação de chaves no navegador? Pergunto porque em dispositivos mobile mais simples, o Argon2 às vezes pode ser pesado para o usuário.
Vou baixar sua lib para estudar como você estruturou a interface de criptografia. Parabéns pela iniciativa de código aberto!