Funcionalidades
Equipas
Partilhar Commands com uma equipa através de uma pasta que ela já partilha: chaves e impressões digitais, publicar, usar, atualizar e retirar, papéis, grupos e níveis.
Uma equipa partilha Commands através de uma pasta que já partilha por outros meios: iCloud Drive, Dropbox, Google Drive ou uma pasta de rede. Não há servidor do Ploy nem contas. Cada pessoa assina o que publica com uma chave do seu Mac, e quem usa confia em chaves que confirmou, não na pasta.
Só a definição viaja. As execuções, as métricas, as conversas e as versões em teste ficam em cada computador.
A biblioteca
Em Commands, o botão «+» › «Biblioteca de equipa…» abre a «Biblioteca de equipa».
- «Escolher pasta…» escolhe a pasta partilhada (depois, «Mudar…» ou «Deixar de usar»).
- «O teu nome na equipa» é o nome com que publicas.
- «A tua impressão digital» é a da tua chave: seis grupos de quatro caracteres, tirados do SHA-256 da chave. «Diz a tua impressão digital à equipa por outro meio (de viva voz, por telefone): é assim que confirmam que o que publicas é teu.»
- «Commands na biblioteca» lista os Commands de pessoas cuja chave confirmaste, cada um com a versão, quem o publicou, a impressão digital, e se foi retirado ou vai cifrado. «Usar» traz um para o teu Mac.
- «Publicados com chaves por confirmar» fica à parte, com «Confirmar a chave…». Nada destas chaves é oferecido para usar.
- «Pessoas» lista as chaves que confirmaste, com «Deixar de confiar».
- «Ficheiros que não passaram a verificação» lista o que o Ploy recusou ler.
- «Ler outra vez» volta a ler a pasta.
Se a pasta não estiver ao alcance, a biblioteca diz «A pasta não está acessível: confirma que a unidade está ligada e sincronizada.» Uma unidade desligada não conta como biblioteca vazia.
Confirmar uma chave
«Confirmar a chave…» mostra a impressão digital que a pasta tem para essa pessoa e pede: «Pergunta a … a impressão digital dela por outro meio, de viva voz ou por telefone, nunca pela própria pasta.» Só depois de comparares carregas em «Confirmo: é a chave desta pessoa». A confiança fica com a chave inteira, não só com a impressão digital, e a chave confirmada guarda o nome com que a confirmaste.
Publicar
No Studio, «Publicar na equipa…» publica a versão que aprovaste («Só se publica uma versão que aprovaste.»). A folha diz o que vai: o objetivo, os passos, as regras, os critérios, os exemplos de pedidos, as fontes e os testes, com os valores de exemplo, e avisa: «Confirma que a equipa os pode ver; se forem dados reais de clientes, troca-os primeiro em Editar.» Podes juntar «O que mudou, para a equipa (opcional)».
No ficheiro vão os bytes exatos da versão, a tua chave pública e a tua assinatura. A chave é criada dentro do Secure Enclave do Mac e a parte privada nunca sai de lá; num Mac sem Secure Enclave, é uma chave Ed25519 guardada no porta-chaves do macOS.
Ao publicar, o Ploy:
- recusa uma pasta que não está lá;
- nunca escreve por cima de um ficheiro;
- numera a versão acima de todas as que encontra na pasta, pelo nome e pelo conteúdo.
Usar, atualizar e retirar
- Usar. Um Command que vem da biblioteca entra no teu Mac em teste. Não é oferecido nem corre nas conversas até passar nos testes e estar aprovado (por ti, sem equipa; com equipa, com as aprovações que o nível pede). Corre sempre com as tuas permissões.
- Atualizar. Quando a biblioteca tem uma versão nova, a página do Command diz «A biblioteca tem a versão N, de …» e oferece «Ver alterações e atualizar…». A folha mostra o que mudou, ou «O procedimento é igual ao que tens.», com «Agora não» e «Atualizar». A versão nova entra em teste.
- Quem muda. Só quem publicou um Command lhe dá versões novas ou o retira. Os outros podem usar «Duplicar como pessoal» e mudar a cópia. Um Command noutra chave com o mesmo nome é outro Command.
- Retirar. «Retirar da biblioteca…» deixa na pasta uma nota assinada: «ninguém o começa a usar, e quem já o tem é avisado e decide o que fazer». Quem o tem vê «… retirou-o da biblioteca. Continua aqui; arquiva-o se já não o usas.»
O que o Ploy nunca lê
Um ficheiro cuja assinatura não bate certo, uma ligação simbólica (nem como ficheiro nem como pasta) e um ficheiro com mais de 1 MB. Um ficheiro alterado depois de assinado é dado como alterado e não é lido. É o que aparece em «Ficheiros que não passaram a verificação».
A equipa
Sem equipa, a biblioteca funciona só por chaves confirmadas: cada pessoa testa e aprova para si, e só quem publicou edita. Com uma equipa, há papéis, as aprovações dos aprovadores contam em todos os Macs, e os Commands confidenciais vão cifrados só para quem os pode ler.
Começar e entrar
- «Começar uma equipa…» pede o nome da equipa. «Ficas como administrador, criador, aprovador e executor. A equipa vai para a pasta assinada por ti; quem a seguir confirma primeiro a tua impressão digital.»
- Para entrar numa equipa que outra pessoa começou, confirmas a chave dela em «Pessoas» e envias o teu pedido com «Enviar o meu cartão». O cartão leva também a chave de leitura do teu Mac, que é por onde te chegam os Commands confidenciais: para isso, regista primeiro este Mac em «Segurança» (ver Segurança dos Commands).
- Um administrador abre «Gerir membros e regras…», vê os «Pedidos para entrar», compara a impressão digital com a pessoa e carrega em «Confirmo: comparei a impressão digital com esta pessoa». A pessoa entra como Executor, e os papéis mudam-se a seguir.
Os papéis
| Papel | O que pode fazer |
|---|---|
| Criador | Ler e testar; publicar Commands novos; editar e retirar os que publicou. |
| Editor | Ler e testar; publicar versões novas de qualquer Command da equipa. |
| Aprovador | Ler e testar; aprovar e retirar versões. |
| Executor | Ler, testar e correr. |
| Auditor | Ler os Commands, as versões e as aprovações. |
| Administrador | Mudar membros, papéis, grupos e regras dos níveis; retirar versões. |
Quem decide é o armazenamento do Ploy, antes de ler, correr, testar, editar, aprovar, retirar ou publicar, na app e na linha de comandos. A interface só mostra o que ele decide. Na página de cada Command, «Quem o pode usar» diz quem o corre, quem aprova versões, quem o lê sem o correr e o teu papel.
Grupos
Cada membro pode ter grupos («Grupos, separados por vírgulas (por exemplo: Lisboa, Porto)»). Ao publicar, «Para quem corre» escolhe grupos: só os executores desses grupos (e quem o criou) o correm, e aprovadores, editores e auditores leem-no na mesma. Sem grupos escolhidos, corre para todos os executores.
Os níveis na equipa
Cada Command tem uma sensibilidade: normal, restrito, confidencial ou crítico (Segurança dos Commands). «A equipa pode dar-lhes outro nome e torná-los mais exigentes, nunca menos: os confidenciais e críticos vão sempre cifrados, e um crítico precisa sempre de duas pessoas.»
Um Command confidencial ou crítico só se partilha numa equipa. Vai cifrado (AES-256-GCM), com a chave embrulhada só para os membros que o podem ler.
Versões da equipa
A equipa é uma lista assinada de membros, papéis, grupos e regras, guardada na pasta. «Guardar faz a versão N da equipa, assinada por ti. Cada Mac da equipa só a aceita por vir assinada por um administrador da versão que tem, e nunca volta a uma versão anterior.» Duas versões diferentes com o mesmo número param a cadeia aí.
Quando alguém sai ou perde um papel
A leitura seguinte da pasta tira o direito: execuções, aprovações e aberturas novas são recusadas, e a confirmação de identidade e as chaves da equipa abertas nessa sessão deixam de valer. Enquanto um Command de equipa corre, o Ploy relê a biblioteca de meio em meio minuto. Se a equipa retirar a versão ou tirar o direito a quem corre, uma execução confidencial ou crítica para logo, e as outras acabam; o recibo diz o que aconteceu, e a execução seguinte é recusada. Um Command confidencial ou crítico da equipa só corre com uma leitura da equipa com menos de um dia.
Um Mac novo de um membro envia um cartão novo, e um administrador junta a chave de leitura dele. O que foi publicado antes chega a esse Mac com a publicação seguinte.
Limites
- A pasta é tão disponível como o serviço que a sincroniza. Quem pode escrever nela pode apagar ficheiros. Os ficheiros apagados são assinalados, e o que cada Mac já aceitou fica.
- Um administrador retirado que ainda escreve na pasta pode apagar a versão que o retirou e assinar outra no lugar. Os Macs que já leram a sua saída ignoram o que ele assina depois; um Mac que ainda não a leu aceita a substituta. Exigir dois administradores para retirar um não está feito.
- Confirmar a chave errada dá essa chave à equipa. A primeira versão de uma equipa vale porque confirmaste a impressão digital de quem a assinou por outro meio.
- O que já foi aberto fica aberto. O conteúdo que alguém abriu no seu Mac antes de perder o direito fica com essa pessoa.
- As horas vêm do relógio de cada Mac. A ordem que conta é a cadeia de versões, não a hora.
- Não há administração central. Um diretório da empresa, papéis centrais e um registo de auditoria que a empresa controla precisariam de contas e de um servidor, que o Ploy não tem.
- O que está provado. As assinaturas, a confiança por chave, os papéis e a regra das duas pessoas estão testados com chaves reais, e uma prova com
ploy libraryfez de duas pessoas no mesmo Mac. A partilha entre dois Macs através de uma pasta de iCloud Drive real ainda não foi experimentada. - Windows. Não há biblioteca de equipa em Windows.