Equipes
Acesso compartilhado, segredos não
O jeito comum de uma equipe compartilhar acesso a servidores é uma senha num documento. Este é o outro jeito.
Cofres compartilhados
Um cofre compartilhado tem a própria chave. Dar acesso a alguém sela essa chave para a chave pública dessa pessoa, na sua máquina — então o servidor administra quem pode abrir o quê sem nunca ter em mãos algo que abra.
A concessão é assinada, então um cliente comprometido não consegue falsificar uma que pareça vir de um administrador. Remover alguém de uma equipe remove as concessões dela na mesma transação: não existe uma janela em que um ex-colega já está fora da equipe e ainda recebe um cofre. O que ele já baixou fica na máquina dele com a chave que abre isso, e o Termiyo não consegue trocar a chave de um cofre — então troque o que importa nos próprios servidores.
Compartilhar uma sessão
Você envia um link e um colega entra no terminal em que você já está. Ele espera até você deixar entrar e começa somente com leitura — digitar é uma concessão separada e deliberada, pessoa por pessoa.
O fluxo do terminal vai por uma conexão direta entre as duas máquinas. Nosso serviço apresenta vocês e depois não tem nada a ver com isso: ele nunca vê uma tecla nem uma linha de saída. Retirar o acesso de escrita o recupera na hora de todos que já o tinham.
O que o serviço consegue ver
Qual conta é dona de um registro, o tamanho dele e quando mudou pela última vez. Não o que há dentro. Nem um nome de host, nem um usuário, nem uma senha, nem uma chave.
Isso é uma propriedade do projeto, não uma promessa: a cifragem acontece na sua máquina antes de qualquer coisa ser enviada, e a chave não sai dela.
Papéis
- Owner
- Tudo, inclusive cobrança e excluir a equipe.
- Admin
- Convidar e remover membros, criar e compartilhar cofres.
- Membro
- Usar os cofres que lhe foram concedidos.
- Auditor
- Lê o log de atividade da equipe, como qualquer membro. Sem acesso aos cofres.
Rodar por conta própria
O serviço de sincronização é um pequeno aplicativo Node sobre SQLite. Se os seus dados não podem sair da sua rede, rode-o lá — o aplicativo de desktop aceita um endereço de servidor, e nada muda na cifragem, porque ela nunca dependeu de quem estava hospedando.
- Um processo, um banco de dados, sem fila e sem armazenamento de objetos
- A mesma API que o serviço hospedado roda
- Seus clientes apontam para ele por URL