---
title: "Utvecklare"
description: "Ett CLI-anrop. Alla hemligheter. Inga miljövariabler. Inga konfigurationsfiler. Inga hemligheter i loggar."
lang: sv
url: https://clavitor.ai/sv/developers
markdown: https://clavitor.ai/sv/developers.md
translation_of: https://clavitor.ai/en/developers.md
authoritative: false
publisher: Clavitor LLC
---

> This is the Swedish translation of [Developers](https://clavitor.ai/en/developers.md). The original English text is authoritative; where the two differ, the English version prevails.

# Utvecklare: Ett CLI-anrop. Alla hemligheter.

Inga miljövariabler. Inga konfigurationsfiler. Inga hemligheter i loggar. Alla hemligheter din kod behöver, lösta vid körning från ett valv som din agent inte kan kringgå.

## Mönstret: Spara en gång. Hämta var som helst.

Varje agent initieras en gång med sin egen token, sina avgränsningar och sina hastighetsbegränsningar. Därefter kan agenten hämta hemligheter vid körning. Nyckeln lagras krypterad i valvet, aldrig i miljövariabler eller källkod. Om nyckeln roteras, uppdatera den i valvets UI — varje agent hämtar den automatiskt.

```
# One-time setup — paste the token at the prompt, or pipe it in

$ echo "$CLAVITOR_TOKEN" | clavitor-cli init

# Single value — piped, never stored

$ clavitor-cli get "Deploy Key" --field private_key | ssh-add -

# Whole config — secrets resolved, template safe to store anywhere

$ clavitor-cli render app.config.json | myapp --config -

# Proxy — credentials injected at the network layer

$ export HTTPS_PROXY=http://localhost:1983
$ curl -H "Authorization: Bearer clavitor://OpenRouter/key" https://openrouter.ai/api/v1/models
```

## Tre sätt att använda det: Fält, Rendera eller Proxy.

### Fält

Ett värde. Skicka det till valfritt kommando eller skript. Hemligheten finns bara i pipen — aldrig i en variabel, aldrig på disk.

### Rendera

Hela konfigurationsfilen. Lös alla `clavitor://`-referenser vid start. Mallen är säker att committa. Den lösta konfigurationen lever i en pip.

### Proxy

HTTPS-proxy. Inloggningsuppgifter lösta från rubriker transparent. Agenten skriver `clavitor://` där hemligheten ska gå — proxyn injicerar det verkliga värdet. Inget i loggar, inget i agentens minne.

### Vilken ska jag använda?

| Feature | Field | Render | Proxy |
|---|---|---|---|
| Hemligheter ur loggar | 3/3 | 2/3 | 3/3 |
| Fungerar med alla programmeringsspråk | 3/3 | 3/3 | 3/3 |
| Fungerar med alla verktyg (curl, SDK, webbläsare) | 2/3 | 1/3 | 3/3 |
| Avgränsad åtkomst och granskning per agent | 3/3 | 3/3 | 1/3 |
| Flera hemligheter samtidigt | 1/3 | 3/3 | 2/3 |
| Inga kodändringar behövs | 0/3 | 0/3 | 3/3 |
| Konfigurationsfiler säkra att committa | 0/3 | 3/3 | 0/3 |
| SSH / icke-HTTP-användningsfall | 3/3 | 3/3 | 0/3 |

**Snabbt val:** Bygger du ett skript eller CLI-verktyg? Använd **Fält**. Driftsätter du en tjänst med en konfigurationsfil? Använd **Rendera**. Kör du AI-agenter som gör API-anrop? Använd **Proxy**.

## Varför detta slår alla andra credential-proxies.

**Inget att stjäla.** Molnbaserade proxies är högvärdiga mål — bryt en och du får varje kunds inloggningsuppgifter. Lokala proxies lagrar inloggningsuppgifter i sin egen konfiguration, läsbar av alla agenter på maskinen. Clavitors proxy innehåller bara en krypterad konfigurationsfil. Inga hemligheter i klartext på disk, inget inloggningsuppgiftsförråd att plundra.

**Agenter kan inte öppna den.** En komprometterad agent kan inte extrahera inloggningsuppgifter från proxyn — proxyn exponerar inget API, serverar ingen instrumentpanel eller accepterar kommandon. Den läser en rubrik, löser en referens och injicerar resultatet i den utgående begäran. Ingen attackyta.

**Inget i loggar.** Agenten skriver `clavitor://Entry/field`. Det är vad som visas i stdout, i loggar, i konversationshistorik. Den verkliga inloggningsuppgiften finns bara inuti proxyprocessen under ett HTTP-anrops varaktighet. Loggaggregatorer, kraschdumpar, CI-artefakter — rena.

**Noll konfiguration.** Inga routingtabeller, inga API-mappningar, inga inloggningsuppgiftsfiler att hantera. `clavitor://`-referensen i rubriken är den enda instruktionen. En `init`, en miljövariabel, klart.

## Språk: Fungerar i alla programmeringsspråk. Ingen SDK krävs.

### Bash

```
# The proxy handles credential injection — no secrets in the command

$ export HTTPS_PROXY=http://localhost:1983
$ curl -H "Authorization: Bearer clavitor://OpenRouter API/key" \
  https://openrouter.ai/api/v1/models
```

### Go

```
key, _ := exec.Command("clavitor-cli", "get", "OpenRouter API", "--field", "key").Output()
client := openai.NewClient(option.WithAPIKey(strings.TrimSpace(string(key))))
```

### Python

```
import subprocess
# Pass directly — or use the HTTPS proxy to avoid holding the key entirely

stripe.api_key = subprocess.check_output(
    ["clavitor-cli", "get", "Stripe API", "--field", "key"]
).decode().strip()
```

### Rust

```
let key = std::process::Command::new("clavitor-cli")
    .args(["get", "AWS Credentials", "--field", "secret_key"])
    .output()?;
let client = aws::Client::new(String::from_utf8(key.stdout)?.trim());
```

### TypeScript / Node

```
import { execSync } from 'child_process';
const apiKey = execSync('clavitor-cli get "Anthropic API" --field key').toString().trim();
const client = new Anthropic({ apiKey });
```

### C# / .NET

```
using System.Diagnostics;
var psi = new ProcessStartInfo("clavitor-cli") { RedirectStandardOutput = true, UseShellExecute = false };
psi.ArgumentList.Add("get");
psi.ArgumentList.Add("Stripe API");
psi.ArgumentList.Add("--field");
psi.ArgumentList.Add("key");
var key = Process.Start(psi)!.StandardOutput.ReadToEnd().Trim();
var client = new StripeClient(key);
```

### PowerShell

```
# Single value — pipe or use directly

$key = clavitor-cli get "AWS Credentials" --field secret_key
Set-AWSCredential -AccessKey $env:AWS_ACCESS_KEY -SecretKey $key

# Or use the proxy — no secrets in the script at all

$env:HTTPS_PROXY = "http://localhost:1983"
Invoke-RestMethod -Uri "https://api.openai.com/v1/models" `
  -Headers @{ Authorization = "Bearer clavitor://OpenAI/key" }
```

### Java

```
import java.nio.charset.StandardCharsets;

Process p = new ProcessBuilder("clavitor-cli", "get", "Stripe API", "--field", "key").start();
String key = new String(p.getInputStream().readAllBytes(), StandardCharsets.UTF_8).trim();
Stripe.apiKey = key;
```

## Konfigurationsrendering: Spara dina konfigurationer. Inte dina hemligheter.

`clavitor-cli render` skannar valfri fil efter `clavitor://entry/field`-referenser, löser var och en mot valvet och matar ut resultatet. Mallen är säker att lagra var som helst. Den lösta konfigurationen lever i en pip. Hemligheter rör aldrig disk.

```
# Template (safe to store anywhere)

$ cat app.config.json
{"api_key": "clavitor://OpenRouter API/key", "db": "clavitor://Prod DB/password"}

# Resolved (piped to application, never on disk)

$ clavitor-cli render app.config.json
{"api_key": "[resolved]", "db": "[resolved]"}
```

Fungerar med JSON, YAML, TOML, .env, eller valfri textfil. Om den innehåller `clavitor://`, löses den.

## Fler integrationsguider

### Infrastruktur

Docker, Kubernetes, Terraform, Ansible, GitHub Actions, GitLab CI, SSH. Noll hemligheter i konfiguration, noll hemligheter i loggar.
[Infrastrukturguide →](https://clavitor.ai/sv/developers/infrastructure)

### AI-agenter

Claude Code, Codex, OpenClaw, Hermes, CrewAI, LangChain. Avgränsade tokens, granskningsspår, automatisk låsning.
[Agentguide →](https://clavitor.ai/sv/developers/agents)

### MSP-verktyg

PowerShell, Datto RMM, N-able, ConnectWise Automate. Utfärdande av inloggningsuppgifter för din kundbas.
[MSP-guide →](https://clavitor.ai/sv/developers/msp)

## Mönstret är alltid detsamma.

Ett CLI-anrop, alla sammanhang. Agentens avgränsning bestämmer vad den kan se. Nivån bestämmer vad den kan dekryptera. Granskningsloggen registrerar varje åtkomst.
[Kom igång gratis](https://clavitor.ai/sv/checkout)
