Lassen Sie Ihren Agenten an die Produktion.Behalten Sie die Schlüssel.
Sallyport bewahrt Ihre Zugangsdaten in einem lokalen Tresor auf und führt API-Aufrufe und SSH-Befehle für den Agenten aus. Sie geben Läufe per Klick oder Touch ID frei. Es gibt keinen Befehl, der einen gespeicherten Schlüssel offenlegt, und auch keinen Export-Button.
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon · Apache-2.0 · Kostenlos · kein Konto · keine Cloud
Gebaut für Entwickler, die Claude Code, Cursor oder Codex an echte Infrastruktur lassen
Freigabe dort, wo Sie ohnehin sind
Dieser Schlüssel erfordert bei jeder Verwendung eine Freigabe. Der Aufruf wartet auf Ihre Entscheidung.
⏺ sallyport · http.request
PATCH api.cloudflare.com/client/v4/zones/…/dns_records
⎿ key cloudflare · flagged approval per call
⎿ warte auf Freigabe …
Freigabe erforderlich
http.request → api.cloudflare.com
claude ← node ← zsh
Ihr Agent kann Ihre Schlüssel jetzt gerade lesen
API-Tokens in .env, SSH-Schlüssel auf der Festplatte, OAuth-Berechtigungen in Konfigurationsdateien. Der Agent und jedes Paket, das er hereinzieht, können sie alle lesen, und eine einzige vergiftete README trägt sie zur Tür hinaus.
Geheimnisse offen sichtbar
Tokens in .env und Shell-Variablen, SSH-Schlüssel auf der Festplatte, OAuth-Tokens in Konfigurationsdateien. Lesbar für den Agenten, seine Unterprozesse und alles, was npm heute installiert hat.
Prompt-Injection wird zum Diebstahl
Eine schädliche Webseite oder README weist den Agenten an, ein Token an ein neues Ziel zu senden, und der Agent gehorcht. Er wurde dafür gebaut, Anweisungen zu befolgen.
Sie erfahren es von der Rechnung
Ohne Gateway gibt es keine Aufzeichnung darüber, welche Aufrufe der Agent getätigt hat, wohin er sie gesendet hat oder was sie transportierten. Gestohlene Schlüssel tauchen Wochen später auf, nach dem Zeitplan eines anderen.
Das ist nicht hypothetisch
Mai 2026
TanStack npm-Angriff
84 bösartige Versionen in 42 Paketen sammelten beim Installieren Cloud-Zugangsdaten, GitHub-Tokens und SSH-Schlüssel ab und verbreiteten sich dann über die eigenen Pakete ihrer Opfer.
Ende 2025
Shai-Hulud-Wurm
Kompromittierte npm-Pakete stahlen beim Installieren Geheimnisse und nutzten die erbeuteten Zugangsdaten, um die nächste Runde von Paketen zu infizieren.
Aug. 2025
Nx S1ngularity
Ein vergiftetes Build-Tool durchsuchte Entwicklerrechner nach Geheimnissen, probierte lokale KI-Tools aus und schleuste die Beute über die GitHub-CLI hinaus.
Alle drei ernteten Schlüssel aus Umgebungsvariablen und Dateien auf der Festplatte. Sallyport hält nutzbare Schlüssel aus beiden heraus.
Ihr Agent braucht die Schlüssel nicht
Der Agent sendet eine Anfrage: rufe diese API auf, führe diesen Befehl auf jenem Host aus. Sallyport hängt die Zugangsdaten innerhalb der App an, führt den Aufruf aus und gibt das Ergebnis zurück. Der Schlüssel taucht nie in der Umgebung des Agenten auf, und ein versiegeltes Journal zeigt, was lief und wer es freigegeben hat.
Feste Entscheidungskette
Jede Aktion durchläuft dieselbe einkompilierte Entscheidungskette. Es gibt keine Richtliniensprache, die man falsch konfigurieren kann, und keine Regel-Engine, die verrottet; eine optionale Allowlist kann die Sitzungsabfrage für Code-Identitäten überspringen, denen Sie vertrauen.
Das Vertrauensmodell
Tresor-Schleuse
Der Tresor ist absolut
Der Tresor startet gesperrt. Secure Enclave und Touch ID schützen den Zugriff auf seine Daten. Bis zur Entsperrung verweigert Sallyport alle Aktionen.
Schlüssel pro Aufruf
Markierte Schlüssel fragen jedes Mal
Ein mit "Approval per call" markierter Schlüssel erfordert bei jeder Verwendung einen Klick oder Touch ID, auch in einer freigegebenen Sitzung.
Sitzungs-Schleuse
Eine Freigabe pro Agenten-Lauf
Ein neuer Agentenprozess zeigt eine Karte mit seiner Code-Signing-Autorität. Die Freigabe gilt, bis der Prozess endet, Sie sie widerrufen oder der Tresor gesperrt wird.
Beobachten
Laufen lassen und aufzeichnen
Wenn die Sitzungsfreigabe ausgeschaltet ist, laufen Aktionen ohne Sitzungskarten und bleiben im Journal.
Tresorsperre, Schlüssel pro Aufruf, Sitzungssperre, Beobachtung.
Alles steckt in einer signierten App
Eine signierte Mac-App enthält den Tresor, die Freigaben und das Journal. Es gibt kein Konto anzulegen und keinen Cloud-Dienst dahinter.
Absolute Tresor-Schleuse
Solange der Tresor gesperrt ist, verweigert Sallyport jede Agentenaktion und alle Verwaltungsanfragen außer Status.
Verschlüsselt gespeichert
Der Tresor verschlüsselt Schlüsselnamen, Anbieter, Hostbindungen, SSH-Inventar, Einstellungen und geheime Werte.
Prozessherkunft
Jede Karte zeigt die Code-Signing-Autorität des Aufrufers und die Kette der Elternprozesse, einschließlich unsignierter Prozesse.
Touch ID für Änderungen
Konfigurationsänderungen können Touch ID erfordern. Ein synthetischer Klick kann die biometrische Abfrage nicht bestätigen.
Schreibblindes Journal
Sallyport verschlüsselt Agentenläufe und Aktivitäten beim Schreiben und verbindet den Chiffretext durch eine Hash-Kette.
SSH, das den Befehl sieht
Sallyport sieht den vollständigen SSH-Befehl, prüft den Hostschlüssel und versiegelt eine Sitzungsaufzeichnung. Der private Schlüssel bleibt in der App.
Beobachtungsmodus
Der Beobachtungsmodus entfernt Sitzungskarten, behält aber die Tresorsperre, Freigaben pro Aufruf und das Journal bei.
Keine Wiederherstellung
Der Tresor bietet keinen Export, keine Anzeige und keinen Wiederherstellungsschlüssel. Bei Verlust müssen Sie die gespeicherten Zugangsdaten bei den Anbietern neu ausstellen.
HTTP, SSH und MCP
Ihr Agent verbindet sich mit Sallyport als ganz normaler MCP-Server. Alles, was er tut, durchläuft dieselbe Leiter in dasselbe Journal.
HTTP-APIs
http.request → api.github.comDie App führt den HTTPS-Aufruf aus und fügt die Zugangsdaten erst bei der Ausführung ein. Hostübergreifende Weiterleitungen übertragen sie nicht.
SSH
ssh.exec → deploy@prod-03Ein zustandsloser Helfer öffnet die Verbindung. Die App signiert SSH-Anfragen, pinnt Host-Schlüssel und versiegelt eine Sitzungsaufzeichnung; der private Schlüssel erreicht den Helfer nicht.
MCP-Server
github.create_issueLeiten Sie lokale stdio- oder entfernte MCP-Server durch dieselbe Schleuse. Sallyport versiegelt und erneuert OAuth-2.1-Tokens.
Was auf dem Spiel steht
84
bösartige Paketversionen bei einem einzigen npm-Angriff, der Zugangsdaten jagte
0
Konten, Cloud-Dienste oder Telemetrie: Sallyport läuft vollständig auf Ihrem Mac
1 Fingertipp
Touch ID gibt einen markierten Aufruf frei; ein synthetischer Klick kann das nicht vortäuschen
~2 min
von brew install bis zu Ihrem ersten kontrollierten Aufruf
Was Sallyport nicht verspricht
Sicherheitstools versprechen gern zu viel, deshalb halten wir unsere Grenze schriftlich fest.
Grenzen
Eine freigegebene Sitzung kann sich trotzdem fehlverhalten
Eine Sitzungsfreigabe autorisiert den Prozess, nicht die Bedeutung jeder Anfrage. Verwenden Sie für Schlüssel, die einzeln geprüft werden müssen, die Freigabe pro Aufruf.
Es kann nativen Code, der als Sie läuft, nicht aufhalten
Sallyport ist kein Virenschutz. Code mit Ihren Benutzerrechten kann weiterhin die App oder das Betriebssystem angreifen.
Es kann nicht für Sie lesen
Karten zeigen die Code-Signing-Autorität und Prozesskette des Aufrufers. Sie müssen die Anfrage weiterhin selbst prüfen.
Häufig gestellte Fragen
Wie ist Sallyport lizenziert?
Wo liegen meine Geheimnisse?
Funkt es nach Hause?
Was sind die Systemvoraussetzungen?
Was passiert, während der Tresor gesperrt ist?
Funktioniert es mit Claude Code und anderen Agenten?
Kann der Agent meine Schlüssel jemals sehen?
Was, wenn ich den Zugriff auf meinen Mac verliere?
Ihr Agent ist nur eine Prompt-Injection von Ihren Schlüsseln entfernt.
Kostenloser Download. Apple Silicon, macOS 14 oder neuer. Kein Konto, niemals.
brew install --cask olegsotnikov/tap/sallyportmacOS 14+ · Apple Silicon