📖 Introdução ao KAIRUS

KAIRUS é um aplicativo desktop para anotações seguras com criptografia AES-256, desenvolvido em Python com PySide6.

🔐
AES-256-CBC Criptografia de nível militar
📁
Pastas com Senha Segurança por pasta
💾
Auto-Save Salvamento automático
🚀
Quick Note Atalho global Ctrl+Insert

Sobre o KAIRUS

O KAIRUS foi desenvolvido com foco em privacidade e segurança. Todas as notas são criptografadas localmente antes de serem salvas, garantindo que apenas você tenha acesso ao seu conteúdo.

💡 Dica: O KAIRUS é 100% offline e não coleta nenhum dado do usuário.

⚙️ Instalação

Windows (Instalador)

  1. Baixe o instalador kairus.exe da página de releases
  2. Execute o arquivo baixado
  3. Siga as instruções do assistente de instalação
  4. Após a instalação, inicie o KAIRUS pelo atalho na área de trabalho

Windows (Portátil)

  1. Baixe a versão portátil (caso disponível)
  2. Extraia o arquivo ZIP em uma pasta de sua escolha
  3. Execute kairus.exe diretamente

A partir do código fonte

# Clone o repositório
git clone https://github.com/EduardoDosSantosFerreira/kairus.git
cd kairus

# Crie um ambiente virtual (recomendado)
python -m venv venv
venv\Scripts\activate  # No Windows

# Instale as dependências
pip install -r requirements.txt

# Execute o aplicativo
python main.py

📋 Requisitos do Sistema

Sistema Operacional

Windows 10 / 11 (64-bit)

Mac/Linux em breve

Python

Python 3.8 ou superior

Para execução a partir do código

Espaço em Disco

Mínimo: 100 MB

Recomendado: 500 MB

Memória RAM

Mínimo: 512 MB

Recomendado: 2 GB

🚀 Primeiros Passos

1. Primeira execução

Ao iniciar o KAIRUS pela primeira vez, você precisará definir uma senha mestra que protegerá todas as suas notas.

⚠️ Atenção: A senha mestra não é recuperável. Mantenha-a em local seguro!

2. Criando sua primeira nota

  1. Clique em Nova Nota ou pressione Ctrl+N
  2. Digite um título e o conteúdo da nota
  3. A nota é salva automaticamente

3. Criando uma pasta segura

  1. Clique em Nova Pasta ou pressione Ctrl+Shift+N
  2. Digite o nome da pasta
  3. Defina uma senha para a pasta (opcional)
  4. Clique em Criar
💡 Dica: Use pastas com senha para organizar notas por projeto ou nível de sensibilidade.

🖥️ Interface do Usuário

1. Barra de Ferramentas

Contém botões para ações rápidas: Nova Nota, Nova Pasta, Salvar, Exportar, etc.

2. Árvore de Pastas

Exibe todas as pastas e notas organizadas hierarquicamente.

3. Editor de Notas

Área principal para edição de notas com formatação rich text.

4. Painel de Status

Mostra informações como status de salvamento e usuário conectado.

KAIRUS Interface

Interface principal do KAIRUS

📝 Gerenciamento de Notas

Criar Nota

# Exemplo via API interna
note_manager.create_note(
    title="Minha Nota",
    content="Conteúdo da nota...",
    folder_id="id_da_pasta"
)

Editar Nota

Clique em qualquer nota na árvore de pastas para abri-la no editor. As alterações são salvas automaticamente.

Excluir Nota

Selecione a nota e pressione Delete ou clique com botão direito → Excluir.

🔒 Pastas Protegidas

Pastas com senha oferecem uma camada extra de segurança para grupos específicos de notas.

Como funciona

  • Cada pasta pode ter sua própria senha independente
  • O conteúdo da pasta é criptografado com a senha definida
  • Ao acessar uma pasta protegida, a senha é solicitada
  • A pasta permanece acessível durante a sessão atual
🛡️ Nota de Segurança: A senha da pasta não é armazenada em nenhum lugar — apenas o hash.

⌨️ Atalhos de Teclado

Salvar Nota Ctrl+S
Nova Nota Ctrl+N
Nova Pasta Ctrl+Shift+N
Nota Rápida (Global) Ctrl+Insert
Foco na Árvore de Pastas Ctrl+F
Atualizar F5
Limpar Editor Ctrl+W
Excluir Item Delete

📤 Exportação

O KAIRUS permite exportar notas nos seguintes formatos:

  • PDF - Preserva formatação e é ideal para compartilhamento
  • TXT - Texto puro, compatível com qualquer editor

Como exportar

  1. Abra a nota que deseja exportar
  2. Clique no botão Exportar na barra de ferramentas
  3. Escolha o formato desejado
  4. Selecione o local para salvar
  5. Clique em Salvar

🔐 Criptografia

O KAIRUS implementa padrões de segurança robustos para proteger seus dados.

Algoritmos utilizados

Componente Especificação
Criptografia de Notas AES-256-CBC
Derivação de Chave PBKDF2 (100.000 iterações)
Salt 32 bytes (único por nota)
Padding PKCS7
Hash de Senhas PBKDF2 + SHA-256
🔬 Como funciona: Cada nota é criptografada com uma chave derivada da sua senha mestra e um salt único. Isso garante que mesmo notas idênticas produzam criptogramas diferentes.

💾 Armazenamento de Dados

Todos os dados são armazenados localmente no diretório do usuário.

# Localização dos dados do KAIRUS
C:\Users\[Usuario]\AppData\Local\kairus\
├── config/
│   └── settings.json
├── data/
│   ├── notes/
│   └── vault/
└── logs/
💡 Backup: Para fazer backup dos dados, copie toda a pasta kairus para um local seguro.

📁 Estrutura do Projeto

kairus/
├── build/              # Arquivos de build
├── core/               # Lógica central do aplicativo
├── dist/               # Executáveis gerados
├── security/           # Módulo de criptografia e segurança
├── storage/            # Gerenciamento de armazenamento
├── ui/                 # Interface do usuário (PySide6)
├── utils/              # Utilitários diversos
├── web/                # Site/documentação web
│   ├── css/
│   ├── img/
│   └── index.html
├── main.py             # Ponto de entrada principal
├── requirements.txt    # Dependências Python
└── README.md           # Documentação principal

📚 API Reference

SecurityManager

SecurityManager.encrypt_data(data: bytes, password: str) -> bytes

Criptografa dados usando AES-256-CBC com PBKDF2.

SecurityManager.decrypt_data(encrypted_data: bytes, password: str) -> bytes

Descriptografa dados previamente criptografados.

SecurityManager.hash_password(password: str) -> str

Gera hash seguro de senha usando PBKDF2.

NoteManager

NoteManager.create_note(title: str, content: str, folder_id: str = None) -> Note

Cria uma nova nota.

NoteManager.get_note(note_id: str) -> Note

Recupera uma nota pelo ID.

NoteManager.export_note(note_id: str, format: str, path: str) -> bool

Exporta nota para PDF ou TXT.

🤝 Contribuição

KAIRUS é open source e aceita contribuições!

Como contribuir

  1. Faça um fork do repositório
  2. Crie uma branch para sua feature: git checkout -b minha-feature
  3. Commit suas alterações: git commit -m 'Adiciona nova feature'
  4. Push para a branch: git push origin minha-feature
  5. Abra um Pull Request

Testes

Execute os testes antes de enviar seu PR:

python -m pytest tests/

❓ Perguntas Frequentes

O KAIRUS é realmente gratuito?

Sim! O KAIRUS é completamente gratuito e de código aberto (licença MIT).

Como recuperar uma senha esquecida?

Infelizmente, por questões de segurança, não há recuperação. Use um gerenciador de senhas para armazenar sua senha mestra.

O KAIRUS coleta meus dados?

Não. O KAIRUS é 100% offline e não coleta nenhum tipo de dado ou telemetria.

Como reportar um bug?

Abra uma issue no GitHub com a descrição detalhada do problema.

🔧 Solução de Problemas

O aplicativo não inicia

Solução: Certifique-se de que o Python 3.8+ está instalado e que todas as dependências foram instaladas corretamente.

Erro de criptografia ao abrir nota

Solução: Isso pode ocorrer se a senha mestra foi alterada. Restaure a senha original ou use um backup dos dados.

Nota não salva automaticamente

Solução: Verifique se a pasta tem permissão de escrita. O problema também pode ser resolvido com F5 para recarregar.