Security

ASD Vault gebruiken voor versleuteld geheimen beheer

Published:
Kelvin Wuite
By Kelvin Wuite • 8 min read
Share

ASD Vault biedt versleutelde geheimen-opslag aangedreven door Supabase Vault en pgsodium. In plaats van geheimen in platte-tekst .env bestanden te bewaren, sla je ze versleuteld op en injecteer je ze op aanvraag in je processen via de ASD CLI.

Hoe versleuteling werkt

Elk geheim wordt versleuteld met XChaCha20-Poly1305 AEAD via pgsodium. De versleutelingssleutel wordt beheerd door Supabase KMS en wordt nooit in de database opgeslagen. Toegang wordt afgedwongen via Row Level Security per gebruiker/organisatie.

Vereisten

  • ASD CLI geinstalleerd en geauthenticeerd (asd login)
  • Een Developer-abonnement of hoger (gratis plan bevat geen vault-toegang)

Stap 1: Sla een geheim op

bash
# Vanuit argument
asd vault set API_KEY "sk-abc123"

# Met categorie en beschrijving
asd vault set db/PASSWORD "s3cret" \
  --category database \
  --description "Productie DB wachtwoord"

Geheimen-namen ondersteunen slashes voor organisatie per categorie, zoals db/PASSWORD, api/stripe-key, of tls/cert.

Stap 2: Opslaan vanuit bestanden of stdin

bash
# Opslaan vanuit een bestand
asd vault set tls/cert --file ./cert.pem

# Opslaan vanuit stdin (gepiped waarde)
cat ~/.kube/config | asd vault set kubeconfig --stdin

Stap 3: Toon je geheimen

bash
asd vault list

Output:

text
Vault Secrets (3)

  database
    db/PASSWORD [user] — Productie DB wachtwoord

  api
    api/stripe-key [org] — Stripe productie sleutel

  ssh
    ssh/github-ci [user] — GitHub Actions SSH sleutel

Stap 4: Haal een geheim op

bash
asd vault get db/PASSWORD

De waarde wordt naar stdout geprint, dus je kunt pipen:

bash
asd vault get ssh/github-ci > ~/.ssh/ci_key

Stap 5: Injecteer geheimen in een proces

Maak een omgevingstemplate die vault-geheimen referenteert via asd:// URI's:

bash
# .env.tpl
DATABASE_URL=asd://db/PASSWORD
API_KEY=asd://API_KEY

Draai elk commando met die geheimen geïnjecteerd als omgevingsvariabelen:

bash
asd vault run --env-file .env.tpl -- node server.js

Geheimen worden bij runtime ontsleuteld en in het procesgeheugen geïnjecteerd. Ze worden nooit naar schijf geschreven.

Stap 6: Bulk import en export

bash
# Importeer alle bestanden uit een directory
asd vault import ./secrets/ --scope user --yes

# Exporteer alle geheimen naar bestanden
asd vault export ./backup/

Scopes: persoonlijk vs organisatie

bash
# Persoonlijk geheim (alleen jij)
asd vault set my-token "waarde"

# Organisatie geheim (gedeeld met org admins)
asd vault set shared-api-key "waarde" --scope org

CLI commando referentie

CommandoBeschrijving
asd vault listToon geheimen (alleen metadata, geen waarden)
asd vault get <naam>Print ontsleutelde waarde naar stdout
asd vault set <naam> [waarde]Maak of update een geheim
asd vault delete <naam>Verwijder een geheim (soft-delete)
asd vault import <dir>Bulk import geheimen uit directory
asd vault export <dir>Exporteer geheimen naar bestanden
asd vault run --env-file <tpl> -- <cmd>Draai commando met geïnjecteerde geheimen

Abonnementslimieten

PlanGeheimen
FreeNiet beschikbaar
Developer10
Pro50
Scale200
EnterpriseOnbeperkt

Beveiligingsdetails

  • Algoritme: XChaCha20-Poly1305 AEAD via pgsodium
  • Sleutelbeheer: Rootsleutel beheerd door Supabase KMS, nooit opgeslagen in de database
  • Toegangscontrole: Row Level Security per gebruiker/organisatie
  • Transport: Alle API-aanroepen via HTTPS met TLS
  • At rest: Versleuteld voor opslag in vault.secrets

Samenvatting

ASD Vault vervangt platte-tekst .env bestanden met versleutelde, server-beheerde geheimen. asd vault set om op te slaan, asd vault get om op te halen, asd vault run om te injecteren in elk proces. Alles aangedreven door pgsodium versleuteling, beheerd via de ASD CLI.

Kelvin Wuite
Written by

Kelvin Wuite

Kelvin Wuite is the founder of ASD B.V. With over eighteen years of development experience, he has witnessed the same patterns repeat across every software team - endless documentation, manual preparation, environment mismatches, and fragmented collaboration. His drive is to remove these barriers, enabling engineers to work together in unified environments with shorter feedback loops and hands-on collaboration. Since 2015 he has been refining these ideas, leading to ASD — a platform designed to create a faster, more integrated way for development teams to collaborate in an age where AI is thriving.

Related Articles