As verificações

Todas as verificações que o guardrail faz, na ordem em que uma chamada as encontra; a primeira que barra a chamada decide. Elas rodam em quatro etapas:

  1. Tipos de ferramenta: sabe-se se cada ferramenta lê, escreve ou envia algo para fora;
  2. a cadeia de admissão: verificações que podem recusar uma chamada antes de qualquer outra coisa;
  3. a verificação de ferramentas: as dez regras da verificação licenciada, decidindo a primeira que se aplica;
  4. as verificações do que foi dito: a rastreabilidade, os vetos S1 e S2 e a leitura de confirmação. Elas só tornam uma resposta mais rígida: uma recusa continua recusa, e uma confirmação nunca vira permissão.

Passe checks=[...] para ligar só as verificações listadas; uma verificação que não pode ser desligada roda listada ou não. Desligar uma verificação retém o dado que ela lê, então a própria verificação de ferramentas continua decidindo toda chamada.

S1, S2 e a leitura de confirmação leem só o último turno da pessoa, e só quando os turnos são dados. Cada uma tem três modos: off; refuse, um bloqueio rígido; e confirm, perguntar à pessoa, que é o padrão. A leitura de confirmação nunca altera uma chamada: um valor que ela lê como faltando ou diferente faz a chamada esperar pela pessoa, e a leitura é mostrada a ela.

Esta página é feita a partir da própria lista de verificações do guardrail, então não diz de uma verificação nada que o guardrail não diga.

Verificação O que faz, simplesmente Quando barra uma chamada Pode ser desligada
Tipos de ferramenta Sabe-se se cada ferramenta lê, altera algo ou envia algo para fora: pelo seu arquivo, pelas marcas da própria ferramenta, ou pelo nome, descrição e argumentos. Uma ferramenta que ninguém marcou conta como uma que altera algo. perguntada (uma ferramenta que não se sabe que lê é uma escrita) sim
Ferramenta retirada Uma ferramenta que o dono retirou do registro não pode ser usada. recusada não
Endereço não permitido Uma chamada não pode chegar a um endereço que você não permite, como o serviço de metadados da nuvem ou a rede interna da empresa. recusada sim
Fora do plano aprovado Onde uma pessoa aprovou um plano, uma chamada que não é o próximo passo dele não é executada. recusada sim
Nível de ferramentas do plano Ainda não ativa: toda chamada passa. nunca (ainda não ativa) sim
Rótulos Ainda não ativa: toda chamada passa. Conteúdo de fora é barrado pela verificação de conteúdo de fora. nunca (ainda não ativa) sim
Limite de pagamento Ainda não ativa: toda chamada passa. Limites de gasto ficam nas suas regras. nunca (ainda não ativa) sim
Ferramentas permitidas Só ferramentas da sua lista podem ser usadas, e só por um agente nomeado onde você indicar. recusada não
Registro da sessão O registro das chamadas já feitas deve estar intacto; se alguém o alterou, nada mais é executado. recusada não
Argumentos Os valores de cada chamada devem caber na descrição da própria ferramenta (tipos, campos obrigatórios, valores permitidos). recusada sim
Destinos Uma ferramenta só pode enviar algo a um endereço se for conhecida por enviar coisas para fora. recusada sim
Ordem Uma ferramenta só é executada num ponto permitido: depois de outra, nunca depois de outra, ou no máximo N vezes. recusada sim
Desfazer Um desfazer deve corresponder ao passo que reverte, e um passo só é desfeito uma vez. recusada sim
Suas regras Sua própria planilha de regras decide, por ex. "reembolsos acima de 100 precisam de um gerente"; limites por período e de gasto também. recusada ou perguntada, como a regra diz sim
Conteúdo de fora Uma chamada proposta depois de ler conteúdo de fora (uma página, um e-mail) é barrada onde você proíbe. recusada, ou perguntada onde sua configuração pede sim
Confirmação Uma chamada que precisa do sim de uma pessoa só é executada com esse sim, assinado; se ninguém pode dá-lo, ela não é executada. recusada não
Qualquer outra escrita Qualquer coisa que altera algo e que nenhuma regra permitiu espera o sim de uma pessoa. perguntada não
Origem dos valores Um valor numa escrita que ninguém disse e nenhuma ferramenta devolveu é perguntado, nunca permitido e nunca recusado. perguntada sim
S1: verbo de envio Onde a fala da pessoa pede para enviar algo para fora e nenhuma ferramenta envia, a chamada é barrada. perguntada por padrão; recusada no modo estrito sim
S2: destino Onde a fala nomeia um lugar para onde enviar que nenhuma ferramenta recebe, e a chamada também não o recebe, a chamada é barrada. perguntada por padrão; recusada no modo estrito sim
Leitura de confirmação A chamada é lida contra a fala, com os valores como digitados. Onde a fala dá um valor que falta na chamada, ou um diferente, a pessoa vê os dois e é perguntada. A chamada nunca é alterada. perguntada por padrão; recusada no modo estrito sim

Tipos de ferramenta

Sabe-se se cada ferramenta lê, altera algo ou envia algo para fora: pelo seu arquivo, pelas marcas da própria ferramenta, ou pelo nome, descrição e argumentos. Uma ferramenta que ninguém marcou conta como uma que altera algo.

checks.Setting("tool_kinds")

Ferramenta retirada

Uma ferramenta que o dono retirou do registro não pode ser usada.

checks.Setting("withdrawn")

Endereço não permitido

Uma chamada não pode chegar a um endereço que você não permite, como o serviço de metadados da nuvem ou a rede interna da empresa.

checks.Setting("address")

Fora do plano aprovado

Onde uma pessoa aprovou um plano, uma chamada que não é o próximo passo dele não é executada.

checks.Setting("plan_step")

Nível de ferramentas do plano

Ainda não ativa: toda chamada passa.

checks.Setting("tier")

Rótulos

Ainda não ativa: toda chamada passa. Conteúdo de fora é barrado pela verificação de conteúdo de fora.

checks.Setting("labels")

Limite de pagamento

Ainda não ativa: toda chamada passa. Limites de gasto ficam nas suas regras.

checks.Setting("payment_limit")

Ferramentas permitidas

Só ferramentas da sua lista podem ser usadas, e só por um agente nomeado onde você indicar.

checks.Setting("allowed_tools")

Registro da sessão

O registro das chamadas já feitas deve estar intacto; se alguém o alterou, nada mais é executado.

checks.Setting("session_record")

Argumentos

Os valores de cada chamada devem caber na descrição da própria ferramenta (tipos, campos obrigatórios, valores permitidos).

checks.Setting("arguments")

Destinos

Uma ferramenta só pode enviar algo a um endereço se for conhecida por enviar coisas para fora.

checks.Setting("destinations")

Ordem

Uma ferramenta só é executada num ponto permitido: depois de outra, nunca depois de outra, ou no máximo N vezes.

checks.Setting("order")

Desfazer

Um desfazer deve corresponder ao passo que reverte, e um passo só é desfeito uma vez.

checks.Setting("undo")

Suas regras

Sua própria planilha de regras decide, por ex. "reembolsos acima de 100 precisam de um gerente"; limites por período e de gasto também.

checks.Setting("your_rules")

Conteúdo de fora

Uma chamada proposta depois de ler conteúdo de fora (uma página, um e-mail) é barrada onde você proíbe.

checks.Setting("outside_content")

Confirmação

Uma chamada que precisa do sim de uma pessoa só é executada com esse sim, assinado; se ninguém pode dá-lo, ela não é executada.

checks.Setting("confirmation")

Qualquer outra escrita

Qualquer coisa que altera algo e que nenhuma regra permitiu espera o sim de uma pessoa.

checks.Setting("any_other_write")

Origem dos valores

Um valor numa escrita que ninguém disse e nenhuma ferramenta devolveu é perguntado, nunca permitido e nunca recusado.

checks.Setting("grounded")

S1: verbo de envio

Onde a fala da pessoa pede para enviar algo para fora e nenhuma ferramenta envia, a chamada é barrada.

checks.Setting("s1_veto")

S2: destino

Onde a fala nomeia um lugar para onde enviar que nenhuma ferramenta recebe, e a chamada também não o recebe, a chamada é barrada.

checks.Setting("s2_veto")

Leitura de confirmação

A chamada é lida contra a fala, com os valores como digitados. Onde a fala dá um valor que falta na chamada, ou um diferente, a pessoa vê os dois e é perguntada. A chamada nunca é alterada.

checks.Setting("confirm_read")