# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview Metacrypt is a cryptographic service for the Metacircular platform, written in Go. It provides cryptographic resources via an "engines" architecture (CA, SSH CA, transit encryption, user-to-user encryption). Authentication is handled by MCIAS (Metacircular Identity and Access Service) using the client library at `git.wntrmute.dev/kyle/mcias/clients/go`. MCIAS API docs: https://mcias.metacircular.net:8443/docs ## Build & Test Commands ```bash go build ./... # Build all packages go test ./... # Run all tests go vet ./... # Static analysis ``` ## Architecture - **Engines**: Modular cryptographic service providers (CA, SSH CA, transit, user-to-user encryption) - **Storage**: SQLite database with an encrypted storage barrier (similar to HashiCorp Vault) - **Seal/Unseal**: Single password unseals the service; a master encryption key serves as a key-encryption key (KEK) to decrypt per-engine data encryption keys - **Auth**: MCIAS integration; MCIAS admin users get admin privileges on this service