Proxy för inloggningsuppgifter
Dina agenter gör API-anrop.
De ska aldrig hantera nycklarna.
Clavitor Proxy sitter mellan dina AI-agenter och de API:er de anropar. Inloggningsuppgifter injiceras på nätverksnivå – agenten ser, lagrar eller loggar aldrig den verkliga hemligheten. En binärfil. En miljövariabel. Noll kodändringar.
Problemet du redan har
Hemligheter i miljövariabler
Dina agenter läser OPENAI_API_KEY från miljön. Den nyckeln är synlig i /proc, i kraschdumpar, i CI-loggar, i varje verktyg som agenten anropar. En läckt loggrad och nyckeln är publik.
Hemligheter i agentminne
Även om agenten hämtar nyckeln vid körning, håller den den i minnet under processens livstid. En komprometterad färdighet, en promptinjektion, en debuggdump – nyckeln finns där för att tas.
Ingen granskning av vad som användes
När en API-nyckel delas som en sträng finns det ingen logg över vilken agent som använde den, när eller varför. Om nyckeln läcker roterar du den och hoppas. Det finns ingen forensisk spårning.
Problemen vi hoppas att du inte har
API-nycklar i källkod
Hårdkodad i en konfigurationsfil, committad till git, klonad av varje utvecklare och CI-runner i teamet. En publik fork och den finns på GitHubs hemlighetsskanningsinstrumentpanel – eller värre, den gör det inte.
Inloggningsuppgifter i Slack
"Kan du skicka Stripe-nyckeln?" Klistrad i ett direktmeddelande, sökbar för alltid, exporterad i varje efterlevnadsarkiv. Slack är inte ett valv. Inte heller e-post, Google Docs eller en post-it-lapp på en skärm.
.env-filer på varje laptop
Tolv utvecklare, tolv kopior av produktionsinloggningsuppgifter i klartextfiler som aldrig roteras. En stulen laptop, en läcka i ~/.bash_history, ett alltför hjälpsamt backupverktyg – och du roterar alla nycklar i företaget kl. 02.00.
Ta bort inloggningsuppgifter från agenten helt.
Proxyn sitter mellan agenten och API:et. Agenten skriver en referens – clavitor://OpenAI/key – där hemligheten ska vara. Proxyn löser den lokalt, injicerar den verkliga inloggningsuppgiften i HTTPS-begäran och skickar den vidare. Agentens loggar visar platshållaren. API:et tar emot nyckeln. Ingenting däremellan lagrar den.
Inga miljövariabler. Inga hemligheter i agentens minne. Inga autentiseringsuppgifter på kommandoraden. Den riktiga nyckeln hamnar aldrig i agentens miljö, minne eller loggar, så agenten har inget den kan klistra in, skriva ut eller övertalas att avslöja. Det gäller nycklar som leds via proxyn. Den som kontrollerar maskinen kan fortfarande använda proxyn, eller läsa nyckeln från proxyns minne med root, och en komprometterad agent kan fortfarande missbruka den åtkomst den har fått. Omfattning, hastighetsgränser och granskning begränsar det.
# proxy-auth is the proxy's access token, the file beside the binary
$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" \
https://api.openai.com/v1/chat/completions
# The proxy resolved the placeholder. The agent never saw sk-EXAMPLE_not_a_real_key.
# Neither did the logs, the crash dump, or the conversation history.Fungerar med alla agenter som gör HTTPS-anrop: Claude Code, Codex, OpenClaw, CrewAI, LangChain, anpassade skript. Ställ in en miljövariabel och agentens API-anrop flödar genom proxyn. Ingen SDK, inget plugin, inga kodändringar.
Vad som händer under huven
Dekrypterar lokalt, per begäran
Proxyn hämtar den krypterade inloggningsuppgiften från valvet och dekrypterar den på enheten. Klartexten finns i processminnet för en HTTP-begäran, sedan är den borta. Ingenting cachas. Ingenting skrivs till disk. Varje begäran dekrypterar nytt.
Mappar fält till rubriker
Bearer-tokens, API-nycklar, Basic auth – proxyn mappar fältetiketter från valvet till rätt HTTP-rubriker automatiskt. Eller så väljer agenten det exakta fältet med en clavitor://-referens. Oavsett vilket landar inloggningsuppgiften på rätt plats utan att agenten någonsin ser den.
Omfattningar, hastighetsbegränsningar, granskning
Valvet upprätthåller omfångsgränser och hastighetsbegränsningar. En agent som får åtkomst till för många distinkta inloggningsuppgifter låses automatiskt. Varje åtkomst loggas. Inkludera ett agent-ID i platshållaren – clavitor://agentid@Entry/field – för granskningsspår och hastighetsbegränsningar per agent via en delad proxy.
Drift
En binärfil. Sidvagn till agenten. Inga ändringar i nätverksinfrastrukturen.
Värd för enstaka agenter
Ladda ner binären, kör clavitor-proxy init med registreringsblobben och nyckeln, sätt HTTPS_PROXY på agenten. Klart. Proxyn binder till 127.0.0.1:1983 (sidecar till en agent). Den binder inte till någon annan adress på egen hand: porten bär en åtkomsttoken i klartext, så utanför loopback vägrar den starta om du inte sätter CLAVITOR_PROXY_LISTEN till adressen och dessutom skapar en fil med enbart ägarrättigheter som heter proxy-allow-private bredvid binären, vilket du bara gör när adressen är ett betrodd privat nätverk (VPN eller Tailscale).
Värd för flera agenter
Varje agent får sin egen kopia av binärfilen med sin egen sidvagns-konfigurationsfil. Varje kopia har sitt eget omfång, sina egna hastighetsbegränsningar, sitt eget granskningsspår. Agent A kan inte se Agent B:s inloggningsuppgifter. Isolering per design.
Varje proxy för inloggningsuppgifter som körs i molnet – din eller någon annans – är ett mål. Bryt proxyn, få alla kunders inloggningsuppgifter. Det är inte en teoretisk risk. Det är affärsmodellen för varje tjänst för inloggningsuppgiftsproxy.
Clavitors proxy körs på din infrastruktur. Dekrypterar lokalt. Autentiseringsuppgiften finns i processminnet under tiden för en begäran. Det finns ingen molntjänst som håller dina klartextnycklar. Det finns ingen API-endpoint som lämnar ut dina hemligheter. Det finns ingen molnkopia av dina nycklar att göra intrång i.
Dina agenter gör redan API-anrop.
Håll dem på sin egen bana.
Ditt valv, dina omfång, ditt granskningsspår. Proxyn lägger till en nätverksnivå för verkställighet med noll kodändringar i agenten.