Sensey

Secrets, Verzegeld.

Self-hosted secrets, wachtwoorden en certificaten voor Kubernetes. AES-256-GCM in rust, PAT-gebaseerde machine-authenticatie, CLI + GitHub Action + K8s sync CronJob, Keycloak SSO. Het self-hosted alternatief voor Doppler — vandaag in productie bij Sensey.

Kagi is hoe Sensey elke secret, elk wachtwoord en elk certificaat beheert over al onze Kubernetes-clusters. Elke productie-credential die hier beschreven staat loopt vandaag door Kagi — geleverd aan pods via een sync CronJob en zonder downtime geroteerd dankzij Stakater Reloader. We hebben het gebouwd omdat we het zelf nodig hadden.
Kernmogelijkheden

Versleutelde Secret-Opslag

AES-256-GCM in rust, per-organisatie scoping, en een project- + omgevingshiërarchie. Soft-delete met volledig audit trail — jij bezit de data en jij bezit de sleutels.

Kubernetes-native Sync

Een CronJob synchroniseert Kagi-projecten elke twee minuten naar Kubernetes Secrets. Pods laden automatisch opnieuw via Stakater Reloader-annotaties, zodat credentials roteren zonder handmatige restarts of downtime.

Machine-authenticatie

Personal Access Tokens (vv_-prefix, SHA-256 gehasht) met optionele verloopdatum en organisatie-scoping. Dezelfde tokens drijven de CLI, CI/CD-pipelines en in-cluster sync-jobs aan.

CLI + CI/CD-integratie

De kagi Go CLI komt via Homebrew. Een GitHub Action injecteert secrets in $GITHUB_ENV, kagi run -- <cmd> verpakt lokale dev-commando's, en .env bulk import/export houdt bestaande workflows intact.

Architecture
Kagi API

CLI, UI, GitHub Action, and PAT-authenticated machines write encrypted secrets

Postgres

AES-256-GCM ciphertext at rest, scoped per organization, project, and environment

Sync CronJob

Runs every 2 minutes inside each cluster, pulls scoped secrets, writes to K8s

Kubernetes Secret

Annotated for Stakater Reloader — pods auto-restart on content change

Secret Lifecycle
  1. 01 · Write

    Engineer or CI writes secret via CLI, UI, or GitHub Action

  2. 02 · Encrypt

    AES-256-GCM encryption using per-organization data key

  3. 03 · Store

    Persisted as ciphertext in Postgres with audit metadata

  4. 04 · Sync

    CronJob pulls scoped project into in-cluster Kubernetes Secret

  5. 05 · Deliver

    Pods mount the updated Secret as env vars or files

  6. 06 · Reload

    Stakater Reloader restarts affected Deployments on content change

AES-256-GCM versleuteling in rust
Keycloak SSO + PAT machine-authenticatie
99,95% uptime-SLA
Bewezen op Sensey-productieworkloads
Voor Wie Het Is

Platform-engineers die Doppler of Vault vervangen door een self-hosted, Kubernetes-native alternatief dat ze volledig in eigen beheer hebben

DevOps-teams die GitOps-vriendelijke secret-levering nodig hebben met automatische pod-reloads en zero-downtime-rotatie

Security-bewuste MKB's die volledige controle willen over hun encryptiesleutels, audit trail en data-residency

Beveilig Je Secrets op de Sensey-manier

Sluit je aan bij de founding circle en draai hetzelfde secrets-platform waarmee Sensey zijn eigen Kubernetes-workloads beschermt.

Vraag Vroegtijdige Toegang