Funcionalidades

Mantenha as credenciais fora do ambiente do agente

Para HTTP e SSH integrados, o Sallyport autoriza a operação, fala com o destino ele mesmo e anexa a credencial só dentro do aplicativo. O agente recebe o resultado, não a chave. O limite exato está escrito no modelo de segurança.

Executado no seu MacSem conta do SallyportSem plano de controle na nuvemHTTP · SSH · MCP upstream
Caminho da solicitação

HTTP e SSH integrados separam os caminhos de solicitação e credencial

A solicitação informa uma operação e um destino. O Sallyport verifica o processo ativo, aplica a escada de autorização, grava uma intenção durável e só então entrega a operação ao executor HTTP ou SSH.

Você

Clique ou use o Touch ID quando necessário

Limite local do Sallyport
Processo do agenteOperação, destino e payload
Identidade do processo ativo
Escada de autorização
Intenção de auditoria durável
Executor HTTP ou SSH
Cofre cifradoCredencial fornecida internamente
Destino solicitado / configuradoURL HTTP ou host SSH configurado
solicitação de operaçãocaminho interno da credencialresultado visível para o agentea credencial armazenada não é adicionada intencionalmente
Um agente pede ao Sallyport uma operação HTTP ou SSH integrada. O Sallyport verifica a identidade do processo ativo, aplica os controles de aprovação, grava uma intenção de auditoria durável e entrega a operação ao executor do canal. O cofre fornece a credencial a esse executor. O resultado do destino é devolvido sem inspeção ou reescrita do conteúdo e pode conter dados sensíveis.
Canais de execução

Cada invocação admitida passa pelo mesmo portão

HTTP, SSH, MCP remoto e stdio local têm limites de confiança distintos. As invocações de ferramentas passam pelas mesmas verificações de cofre, aprovação, ciclo de vida e auditoria.

01

HTTP

http.request → método + URL + corpo

Se host e caminho corresponderem, o Sallyport pode anexar autenticação Bearer, Basic, por cabeçalho personalizado, AWS SigV4 ou cliente OAuth2. Sem correspondência, a solicitação é executada sem credenciais.

Solicitações com credenciais não seguem redirecionamentos. As demais podem seguir uma cadeia limitada no mesmo host e porta, sem rebaixar HTTPS. Resultados e erros são devolvidos dentro dos limites de tamanho sem inspeção do conteúdo e podem conter dados sensíveis.

02

SSH

ssh.exec → host + comando visível

O app assina as solicitações de autenticação para o helper sem estado sp-ssh. A chave privada permanece no Sallyport.app, e o helper pode retornar uma gravação para o app selar.

A política padrão accept-new armazena a primeira chave de host e rejeita mudanças posteriores; strict exige uma chave conhecida. A saída SSH devolvida e as gravações seladas podem conter dados sensíveis.

03

MCP remoto

server.tool → argumentos tipados

O Sallyport chama o servidor remoto por HTTP transmissível e anexa a chave de API ou o token OAuth 2.1 configurado. Esse servidor é o destinatário autorizado da credencial.

O servidor é um destinatário confiável da credencial. Resultados, erros e metadados autenticados do catálogo são devolvidos sem filtragem com base em credenciais, sujeitos aos limites documentados de tamanho e descrição, e podem conter credenciais ou outros dados sensíveis.

04

MCP stdio local

server.tool → argumentos tipados

O processo filho recebe as credenciais vinculadas no ambiente e herda o ambiente do processo do Sallyport. Considere o código do servidor e suas dependências confiáveis.

Um filho sem aprovação por chamada pode permanecer ativo até o bloqueio, a reconfiguração ou o encerramento do app. Um filho por chamada inicia após a aprovação para uma invocação e depois é encerrado.

MCP remoto por HTTP transmissível

MCP stdio local

Invocação do agente
Portão de invocaçãoIdentidade, aprovação, intenção durável
Solicitação autenticadaHTTP transmissível
Servidor MCP remotoDestinatário confiável de credenciais API / OAuth
chave de API / token OAuth configuradoinitialize + tools/list autenticadosmetadados sem auditoria; devolvidos como recebidos
Invocação do agente
Portão de invocaçãoIdentidade, aprovação, intenção durável
Processo filho stdio localRecebe segredos vinculados + ambiente herdado do app
Ciclo de vida do cofrePronto, bloqueio, reconfiguração, encerramento
as credenciais entram no ambiente do processo filhosem aprovação por chamada: pode permanecer ativopor chamada: aprovar, iniciar, invocar, encerrarconfie no código e nas dependências do servidor upstream
No MCP remoto, uma invocação admitida passa pelo Sallyport, que anexa autenticação de API ou OAuth à solicitação remota. O servidor remoto é um destinatário confiável da credencial. Resultados, erros e metadados autenticados do catálogo são devolvidos sem filtragem com base em credenciais, sujeitos aos limites documentados de tamanho e descrição, e podem conter dados sensíveis. A inicialização e o catálogo continuam fora da escada de invocação. No MCP stdio local, o processo filho recebe credenciais vinculadas e o ambiente do app. Filhos sem aprovação por chamada podem permanecer ativos enquanto o cofre estiver pronto; filhos por chamada são executados uma vez após a aprovação.

Limite rígido: initialize e tools/list gerenciam o catálogo upstream fora da escada de invocação. O Sallyport não filtra o conteúdo com base em credenciais; os limites documentados de tamanho e descrição continuam valendo. Nomes, descrições e esquemas continuam sendo conteúdo arbitrário controlado pelo upstream e podem conter dados sensíveis.

Autorização

Um caminho fixo para cada invocação de ferramenta admitida

Não há uma linguagem de políticas definida pelo usuário. Inicialização e descoberta do catálogo são tráfego de gerenciamento, não invocações admitidas, e não recebem linhas de intenção.

  1. 01 · estado

    Exigir que o cofre esteja pronto

    Um cofre bloqueado, em processo de desbloqueio ou em quarentena nega as ações dos agentes. Bloquear também apaga as sessões, as aprovações pendentes, as solicitações de credenciais e os processos MCP por stdio.

    negar ou continuar
  2. 02 · resolução

    Resolver o destino e a credencial

    O Sallyport rejeita chamadas quando o destino exigido ou os metadados da credencial não podem ser resolvidos.

    negar ou continuar
  3. 03 · por chamada

    Pedir aprovação para cada uso marcado

    Uma chave ou um servidor upstream marcado para aprovação por chamada exige um clique ou Touch ID, mesmo em uma sessão aprovada ou incluída na lista de permissões.

    perguntar ou continuar
  4. 04 · processo

    Verificar a sessão, a lista de permissões ou o modo de observação

    Uma sessão ativa vincula o PID e a hora de início do kernel aos dados do executável e da assinatura de código. Ela admite o processo, não cada pacote ou origem de bytes. Uma correspondência na lista de permissões ignora apenas o cartão da sessão.

    perguntar ou continuar
  5. 05 · intenção

    Gravar antes do efeito colateral

    Toda invocação de ferramenta exige uma intenção de auditoria cifrada e durável antes de o executor iniciar. Se a gravação falhar, a operação não começa.

    negar ou executar
  6. 06 · resultado

    Executar e fechar a linha

    O Sallyport executa o canal, tenta adicionar a linha de resultado e devolve o resultado limitado do executor sem inspeção ou reescrita do conteúdo. Os resultados podem conter dados sensíveis.

    retornar o resultado

A escada e a intenção de auditoria cobrem invocações de ferramentas, não inicialização nem catálogo. Uma mudança de ciclo de vida antes da execução nega a admissão. Durante a execução, descarta o resultado, mas não desfaz um efeito colateral concluído.

Cofre e registro

Segredos e provas seguem caminhos separados

O cofre é aberto por uma chave protegida por hardware. O registro de auditoria pode aceitar linhas cifradas enquanto o cofre está bloqueado, mas a leitura ainda exige o desbloqueio.

desbloqueio e decifragem dos registros

caminho de auditoria com escrita cega

Secure EnclaveChave P-256 protegida pelo Touch ID
Identidade selada do cofre
DEK do cofre
Registros cifradosChave derivada e contexto autenticado por registro
Intenção + resultado
Linhas seladas com ECIES
Cadeia de hashes assinada
Ponto de controle local assinado
Chave pública de auditoria
verificação da cadeia + ponto de controle
A chave da Secure Enclave abre uma identidade selada do cofre, que desembrulha a chave de criptografia de dados usada nos registros cifrados. Separadamente, uma chave pública de auditoria sela as linhas de intenção e resultado. A cadeia assinada de textos cifrados detecta edições, mudanças de ordem, lacunas internas e substituição do signatário. Um ponto de controle local assinado detecta reversões anteriores a ele.
01 · Sem revelação nem exportação
O Sallyport não oferece nenhuma forma de revelar, exportar ou recuperar credenciais. Se as chaves do cofre forem perdidas, as credenciais precisarão ser reemitidas nos respectivos provedores.
02 · Metadados cifrados
Nomes, provedores, vínculos de host, inventário SSH e configurações são selados junto com os valores secretos.
03 · Limite de reversão definido
A cadeia detecta edições, mudanças de ordem, lacunas internas e substituição do signatário. O ponto de controle local detecta reversões anteriores; uma cauda posterior pode ser perdida após um encerramento abrupto. Uma reversão local completa exige uma testemunha externa.

Instale o Sallyport

Instale o app assinado para Mac, adicione uma credencial e conecte seu cliente MCP.

$brew install --cask olegsotnikov/tap/sallyport

macOS 14+ · Apple Silicon

Sallyport

O Sallyport executa chamadas de API e comandos SSH pelo seu agente de IA. As chaves ficam em um cofre local no seu Mac; você aprova cada execução e toda ação vai para um registro selado.

© 2026 Sallyport · Código aberto sob Apache-2.0 · Oleg Sotnikov