O OmniVersor é uma oficina de arquivos local. Não existe servidor do OmniVersor: o aplicativo não coleta, não transmite e não armazena dados pessoais em servidor algum.
Não há conta, login, anúncios, telemetria, identificadores de publicidade nem rastreadores.
O que fica no dispositivo
O aplicativo grava somente o estado necessário para continuar o trabalho na mesma máquina, na pasta de dados de suporte da aplicação:
fila.jsonguarda a fila e seu estado: identificadores, data de criação, ferramenta, título, caminhos dos arquivos de entrada e parciais, parâmetros, etapas, progresso, erros e observações. Os caminhos podem conter nomes que sejam dados pessoais.historico.jsonguarda até oito atividades recentes por ferramenta, com a data, os caminhos de entrada e saída, um resumo e os parâmetros usados. O histórico não guarda uma cópia do conteúdo dos arquivos.preferencias.jsonguarda apenas se a tela de boas-vindas já foi concluída ou pulada e qual tema você escolheu (claro, escuro ou o do sistema).- Cada modelo de IA que você mandar baixar fica em
<Application Support>/modelos/<modelo>/<versão>/. São três, todos opcionais e independentes:u2netp.onnx(4.574.861 bytes, remover fundo),realesr-general-x4v3.onnx(4.871.181 bytes, ampliar) eversion-RFB-320.onnx(1.270.727 bytes, detectar rostos). Apagar a pastamodelosnão afeta nenhuma ferramenta que não use IA.
Durante uma operação também podem existir arquivos temporários locais. Eles servem para o processamento e são removidos ao terminar ou cancelar quando o motor permite; não são enviados a terceiros. A fila pode preservar o caminho de um arquivo parcial para conseguir limpá-lo depois de uma interrupção.
Para apagar o histórico, use o ícone de lixeira na seção de atividade da
ferramenta. Para retirar um trabalho pendente, cancele-o no painel da
fila. Para apagar todo o estado local, feche o OmniVersor e exclua
fila.json, historico.json e
preferencias.json da pasta de dados de suporte da aplicação;
no Android, também é possível usar Configurações → Apps →
OmniVersor → Armazenamento → Limpar dados. Isso não apaga
os arquivos que você escolheu nem os resultados que salvou em outras
pastas.
A conversa
O OmniVersor tem uma aba de conversa, onde você anexa um arquivo e descreve em português o que quer fazer. Três coisas importam, e todas são verificáveis no código:
- A conversa não sai do dispositivo. Não há servidor,
não há chamada de rede, e nenhuma frase digitada ali é transmitida a
lugar nenhum. Quem interpreta a frase é um programa que roda no próprio
aparelho (
lib/src/nucleo/chat/tradutor.dart), sem modelo de linguagem e sem download. - O anexo não sai do dispositivo. Ele é lido e processado localmente pelas mesmas ferramentas que a grade usa.
- A conversa não é gravada. As mensagens vivem só na memória enquanto a tela está aberta; fechar o aplicativo as descarta. Diferente da fila e do histórico, não existe arquivo de conversa no disco.
O resultado que a conversa produz nasce como rascunho, em
<cache>/omniversor/rascunhos/<turno>/, e só é
movido para o destino quando você aperta Salvar. Descartar apaga o
rascunho, e o aplicativo limpa a pasta inteira ao iniciar — um rascunho
não sobrevive à sessão que o explicava.
Se e quando um modelo de linguagem local for acrescentado à conversa, ele seguirá a mesma regra dos três modelos descritos abaixo: download opcional, sob pedido explícito, de endereço fixo, e nenhuma frase enviada a servidor algum. Este documento será atualizado antes disso acontecer, e não depois.
Arquivos e motores
O OmniVersor lê os arquivos no local que você indica e escreve os resultados no destino que você escolher. O arquivo original não é enviado ao OmniVersor nem substituído silenciosamente.
Depois de salvar, o aplicativo oferece abrir o resultado em outro aplicativo e, no Android, compartilhar. Nenhuma das duas acontece sozinha: só o toque na ação entrega o arquivo, e o destino é escolhido na hora, na tela do próprio sistema. No Android a entrega usa um provedor de arquivos que empresta apenas aquele arquivo, apenas ao aplicativo escolhido e apenas enquanto durar a operação — o OmniVersor não dá a nenhum aplicativo acesso às suas pastas. O que acontece com o arquivo depois de entregue passa a ser regido pela política de privacidade do aplicativo que o recebeu.
Quando necessário, o aplicativo usa processos filhos locais:
qpdf e, quando instalados e compatíveis,
LibreOffice e Tesseract. Esses processos recebem
os arquivos localmente; não são serviços remotos. Os motores e as
respectivas licenças podem ser consultados no pacote do aplicativo e na
tela padrão de licenças.
Rede
O OmniVersor não abre conexão ao iniciar, ao abrir uma imagem, ao executar uma ferramenta nem ao conversar. Não há telemetria, anúncios, sincronização ou processamento remoto.
As três ferramentas de IA local — remover fundo, ampliar 2×/4× e borrar rostos, no Windows e no Android — são a única exceção, e cada uma pela mesma razão: elas precisam de um arquivo de modelo que não cabe dentro do aplicativo. Somente se você pressionar Baixar modelo e confirmar, o aplicativo faz um pedido HTTP GET para o endereço fixo daquele modelo:
| Ferramenta | Endereço | Tamanho |
|---|---|---|
| Remover fundo | https://github.com/danielgatis/rembg/releases/download/v0.0.0/u2netp.onnx |
4.574.861 bytes |
| Ampliar 2×/4× | https://huggingface.co/Heliosoph/realesrgan-onnx/resolve/488e5dda07333179f229a6205d92135eea4c25e9/realesr-general-x4v3.onnx |
4.871.181 bytes |
| Borrar rostos | https://huggingface.co/onnxmodelzoo/version-RFB-320/resolve/6fd293d22b523ec88959f104b8eef5395e3adfbc/version-RFB-320.onnx |
1.270.727 bytes |
Os endereços são fixos no código e presos a uma versão imutável. Nenhuma imagem, arquivo do usuário, caminho local, histórico, preferência ou dado de uso é incluído no pedido — ele é de mão única. Como em qualquer conexão de internet, o GitHub, o Hugging Face e os provedores envolvidos recebem os dados técnicos necessários para atender o pedido, como endereço IP, horário, cabeçalhos HTTP e informações da conexão TLS. O OmniVersor não acrescenta identificador próprio nem envia de volta qualquer requisição com o resultado.
Ao terminar, o aplicativo confere a impressão digital SHA-256 fixa documentada no repositório do projeto. Se ela for diferente, o arquivo é apagado e a tela informa o motivo; uma resposta maior que o tamanho declarado é interrompida e descartada; cancelar apaga o arquivo parcial. Se conferir, o modelo fica apenas na pasta de suporte do aplicativo, e daí em diante as imagens passam por ele localmente — nenhuma dessas três ferramentas precisa de rede depois do download. Borrar rostos funciona sem modelo nenhum quando as áreas são marcadas à mão.
A distribuição também pode usar rede para atualizar o próprio aplicativo — no Android, pela Google Play; no Windows, pelo mecanismo de distribuição de uma nova versão. Nenhum arquivo, histórico ou preferência é enviado nessa atualização.
Permissões no Android
A versão publicada declara uma permissão:
android.permission.INTERNETEla existe por um motivo único — baixar os modelos de IA descritos acima, quando você manda — e o aplicativo não a usa para mais nada. Se você nunca pedir um modelo, nenhuma conexão é aberta.
Não são declaradas permissões de leitura ampla do armazenamento, gravação ampla do armazenamento, localização, contatos, microfone ou câmera. Para abrir e salvar, o OmniVersor usa o seletor de arquivos do sistema (SAF): o Android concede acesso somente aos arquivos e destinos que você escolher, pelo tempo necessário à operação. Não há varredura automática do cartão ou dos arquivos do aparelho.
Contato
Esta política descreve o comportamento da versão distribuída junto com ela. Para dúvidas sobre privacidade, escreva para nathan.sarlie@gmail.com.