diff --git a/clovis/Makefile b/clovis/Makefile new file mode 100644 index 0000000..fc67032 --- /dev/null +++ b/clovis/Makefile @@ -0,0 +1,96 @@ +# Clovis — build pipeline +# FIPS 140-3: BoringCrypto via GOEXPERIMENT=boringcrypto +# Requires Go 1.24+ (verified: go1.24.0) +# +# Usage: +# make deploy — build + test + restart vault +# make deploy-vault — build + test + restart vault only +# make cli — build CLI binary +# make status — check what's running + +GOEXPERIMENT := boringcrypto +export GOEXPERIMENT + +VAULT_DIR := clovis-vault +CLI_DIR := clovis-cli +CRYPTO_DIR := clovis-crypto + +VAULT_BIN := $(VAULT_DIR)/clavitor +CLI_BIN := $(CLI_DIR)/clovis-cli + +VAULT_ENTRY := ./cmd/clavitor + +LDFLAGS := -s -w +GOFLAGS := -trimpath + +.PHONY: all vault cli test clean deploy deploy-vault \ + restart restart-vault stop stop-vault status verify-fips + +# --- build --- + +all: vault cli + +vault: + cp $(CRYPTO_DIR)/*.js $(VAULT_DIR)/cmd/vault1984/web/ 2>/dev/null || true + sed -i 's/__BUILD_TIME__/$(shell date -u +%Y%m%d-%H%M%S)/' $(VAULT_DIR)/cmd/vault1984/web/index.html 2>/dev/null || true + cd $(VAULT_DIR) && go build $(GOFLAGS) -ldflags '$(LDFLAGS)' -o clavitor $(VAULT_ENTRY) + @echo "built $(VAULT_BIN) (FIPS)" + +cli: + $(MAKE) -C $(CLI_DIR) + @strip $(CLI_BIN) 2>/dev/null || true + @echo "built $(CLI_BIN) ($$(wc -c < $(CLI_BIN)) bytes, stripped)" + +# --- test --- + +test: + cd $(VAULT_DIR) && go test ./api/... -v + +# --- deploy --- + +deploy: vault cli test verify-fips restart-vault + @echo "--- deployed ---" + +deploy-vault: vault test verify-fips restart-vault + @echo "--- vault deployed ---" + +# --- verify --- + +verify-fips: verify-fips-vault + +verify-fips-vault: + @go version -m $(VAULT_BIN) | grep -q 'GOEXPERIMENT=boringcrypto' && echo "vault: FIPS 140-3 (BoringCrypto) ✓" || { echo "vault: BoringCrypto NOT linked ✗"; exit 1; } + +# --- process management --- + +stop-vault: + @pkill -f './clavitor$$' 2>/dev/null || pkill -f 'clovis-vault/clavitor$$' 2>/dev/null || true + @sleep 0.5 + +stop: stop-vault + +restart-vault: stop-vault + cd $(VAULT_DIR) && set -a && . ./.env && set +a && nohup ./clavitor > /tmp/clovis-vault.log 2>&1 & + @sleep 1 + @ss -tlnp | grep -q ':1984' && echo "vault running on :1984 ✓" || { echo "vault failed to start ✗"; cat /tmp/clovis-vault.log; exit 1; } + +restart: restart-vault + +status: + @echo "--- processes ---" + @ps aux | grep -E '(clavitor|clovis)' | grep -v grep || echo "nothing running" + @echo "--- ports ---" + @ss -tlnp | grep -E ':1984' || echo "no vault port open" + @echo "--- fips ---" + @go version -m $(VAULT_BIN) 2>/dev/null | grep -q 'GOEXPERIMENT=boringcrypto' && echo "vault: FIPS ✓" || echo "vault: not built or no FIPS" + +# --- logs --- + +logs-vault: + @tail -f /tmp/clovis-vault.log + +# --- clean --- + +clean: + rm -f $(VAULT_BIN) + -$(MAKE) -C $(CLI_DIR) clean 2>/dev/null || true diff --git a/clovis/README.md b/clovis/README.md new file mode 100644 index 0000000..822d403 --- /dev/null +++ b/clovis/README.md @@ -0,0 +1,54 @@ +# Clovis + +Secure vault platform with multi-client support. + +## Architecture + +**Clovis is the vault server.** Everything else is a client that talks to it. + +## Structure + +### Active Development +| Directory | Purpose | Status | +|-----------|---------|--------| +| `clovis-vault/` | Vault server with embedded UI (Go, FIPS 140-3) | **Active** | +| `clovis-crypto/` | JavaScript crypto layer | **Active** | +| `clovis-cli/` | CLI for agents | **Active** | +| `clovis-chrome/` | Chrome browser extension | **Active** | + +### Planned +| Directory | Purpose | Status | +|-----------|---------|--------| +| `clovis-firefox/` | Firefox browser extension | Announced | +| `clovis-safari/` | Safari browser extension | Announced | +| `clovis-ios/` | iOS native app | Announced | +| `clovis-android/` | Android native app | Announced | + +## Build + +```bash +make deploy # Build + test + restart everything +make deploy-vault # Build + test + restart vault only +make deploy-web # Build + restart website only +make status # Check running processes +make logs-vault # Tail vault logs +make logs-web # Tail web logs +``` + +## Clients + +The vault supports multiple client types: +- **Web**: Built-in UI served by vault (`clovis-vault/`) +- **CLI**: Command-line tool for automation/agents (`clovis-cli/`) +- **Browser Extension**: Auto-fill and TOTP in Chrome (`clovis-chrome/`) +- **Mobile**: Native iOS/Android apps (planned) + +## Security + +- FIPS 140-3 validated crypto (BoringCrypto via GOEXPERIMENT) +- Zero-knowledge architecture +- Vault server is the single source of truth + +## License + +Proprietary — © Clavitor diff --git a/clovis/clovis-android/README.md b/clovis/clovis-android/README.md new file mode 100644 index 0000000..8753e57 --- /dev/null +++ b/clovis/clovis-android/README.md @@ -0,0 +1,10 @@ +# Clovis Android + +Android application for Clovis vault. + +**Status:** Planned, not yet implemented. + +Will require native Kotlin development for: +- Autofill Framework integration +- Android Keystore access +- TOTP generation diff --git a/clovis/clovis-chrome/README.md b/clovis/clovis-chrome/README.md new file mode 100644 index 0000000..6d1a8a4 --- /dev/null +++ b/clovis/clovis-chrome/README.md @@ -0,0 +1,5 @@ +# Clovis Chrome Extension + +Browser extension for Chrome. + +TODO: Add Chrome extension implementation. diff --git a/oss/cli/Makefile b/clovis/clovis-cli/Makefile similarity index 98% rename from oss/cli/Makefile rename to clovis/clovis-cli/Makefile index fb02049..13a3f56 100644 --- a/oss/cli/Makefile +++ b/clovis/clovis-cli/Makefile @@ -32,7 +32,7 @@ VENDOR_DIR := vendor BEARSSL_DIR := $(VENDOR_DIR)/bearssl QUICKJS_DIR := $(VENDOR_DIR)/quickjs CJSON_DIR := $(VENDOR_DIR)/cjson -CRYPTO_DIR := ../crypto +CRYPTO_DIR := ../clovis-crypto # Output binary BIN := clavitor-cli diff --git a/oss/cli/src/http.c b/clovis/clovis-cli/src/http.c similarity index 100% rename from oss/cli/src/http.c rename to clovis/clovis-cli/src/http.c diff --git a/oss/cli/src/http.h b/clovis/clovis-cli/src/http.h similarity index 100% rename from oss/cli/src/http.h rename to clovis/clovis-cli/src/http.h diff --git a/oss/cli/src/jsbridge.c b/clovis/clovis-cli/src/jsbridge.c similarity index 100% rename from oss/cli/src/jsbridge.c rename to clovis/clovis-cli/src/jsbridge.c diff --git a/oss/cli/src/jsbridge.h b/clovis/clovis-cli/src/jsbridge.h similarity index 100% rename from oss/cli/src/jsbridge.h rename to clovis/clovis-cli/src/jsbridge.h diff --git a/oss/cli/src/keystore.c b/clovis/clovis-cli/src/keystore.c similarity index 100% rename from oss/cli/src/keystore.c rename to clovis/clovis-cli/src/keystore.c diff --git a/oss/cli/src/keystore.h b/clovis/clovis-cli/src/keystore.h similarity index 100% rename from oss/cli/src/keystore.h rename to clovis/clovis-cli/src/keystore.h diff --git a/oss/cli/src/main.c b/clovis/clovis-cli/src/main.c similarity index 100% rename from oss/cli/src/main.c rename to clovis/clovis-cli/src/main.c diff --git a/oss/cli/src/util.c b/clovis/clovis-cli/src/util.c similarity index 100% rename from oss/cli/src/util.c rename to clovis/clovis-cli/src/util.c diff --git a/oss/cli/src/util.h b/clovis/clovis-cli/src/util.h similarity index 100% rename from oss/cli/src/util.h rename to clovis/clovis-cli/src/util.h diff --git a/oss/cli/vendor/bearssl b/clovis/clovis-cli/vendor/bearssl similarity index 100% rename from oss/cli/vendor/bearssl rename to clovis/clovis-cli/vendor/bearssl diff --git a/oss/cli/vendor/cjson b/clovis/clovis-cli/vendor/cjson similarity index 100% rename from oss/cli/vendor/cjson rename to clovis/clovis-cli/vendor/cjson diff --git a/oss/cli/vendor/quickjs b/clovis/clovis-cli/vendor/quickjs similarity index 100% rename from oss/cli/vendor/quickjs rename to clovis/clovis-cli/vendor/quickjs diff --git a/clovis/clovis-crypto/README.md b/clovis/clovis-crypto/README.md new file mode 100644 index 0000000..9862e1c --- /dev/null +++ b/clovis/clovis-crypto/README.md @@ -0,0 +1,5 @@ +# Clovis Crypto Layer + +JavaScript cryptographic primitives for Clovis clients. + +TODO: Add crypto implementation. diff --git a/oss/crypto/crypto.js b/clovis/clovis-crypto/crypto.js similarity index 100% rename from oss/crypto/crypto.js rename to clovis/clovis-crypto/crypto.js diff --git a/oss/crypto/test_crypto.js b/clovis/clovis-crypto/test_crypto.js similarity index 100% rename from oss/crypto/test_crypto.js rename to clovis/clovis-crypto/test_crypto.js diff --git a/oss/crypto/totp.js b/clovis/clovis-crypto/totp.js similarity index 100% rename from oss/crypto/totp.js rename to clovis/clovis-crypto/totp.js diff --git a/clovis/clovis-firefox/README.md b/clovis/clovis-firefox/README.md new file mode 100644 index 0000000..c11f110 --- /dev/null +++ b/clovis/clovis-firefox/README.md @@ -0,0 +1,7 @@ +# Clovis Firefox Extension + +Browser extension for Firefox. + +**Status:** Planned, not yet implemented. + +This extension will share the core logic with clovis-chrome. diff --git a/clovis/clovis-ios/README.md b/clovis/clovis-ios/README.md new file mode 100644 index 0000000..b4eeb7e --- /dev/null +++ b/clovis/clovis-ios/README.md @@ -0,0 +1,10 @@ +# Clovis iOS + +iOS application for Clovis vault. + +**Status:** Planned, not yet implemented. + +Will require native Swift development for: +- Password AutoFill integration +- Secure Enclave/Keychain access +- TOTP generation diff --git a/clovis/clovis-safari/README.md b/clovis/clovis-safari/README.md new file mode 100644 index 0000000..30df312 --- /dev/null +++ b/clovis/clovis-safari/README.md @@ -0,0 +1,8 @@ +# Clovis Safari Extension + +Browser extension for Safari. + +**Status:** Planned, not yet implemented. + +Apple's Safari extension API differs significantly from Chrome/Firefox. +May require native app wrapper for full functionality. diff --git a/oss/app/._README.md b/clovis/clovis-vault/._README.md similarity index 100% rename from oss/app/._README.md rename to clovis/clovis-vault/._README.md diff --git a/oss/app/.gitignore b/clovis/clovis-vault/.gitignore similarity index 100% rename from oss/app/.gitignore rename to clovis/clovis-vault/.gitignore diff --git a/oss/app/LICENSE b/clovis/clovis-vault/LICENSE similarity index 100% rename from oss/app/LICENSE rename to clovis/clovis-vault/LICENSE diff --git a/oss/app/Makefile b/clovis/clovis-vault/Makefile similarity index 91% rename from oss/app/Makefile rename to clovis/clovis-vault/Makefile index f1cf3ad..eab8bd3 100644 --- a/oss/app/Makefile +++ b/clovis/clovis-vault/Makefile @@ -4,7 +4,10 @@ REMOTE_PATH := /opt/clavitor/bin export GOFIPS140 := latest -.PHONY: build deploy +.PHONY: build deploy clean + +clean: + rm -f $(BINARY) build: rm -f $(BINARY) diff --git a/oss/app/README.md b/clovis/clovis-vault/README.md similarity index 100% rename from oss/app/README.md rename to clovis/clovis-vault/README.md diff --git a/oss/app/SPEC.md b/clovis/clovis-vault/SPEC.md similarity index 100% rename from oss/app/SPEC.md rename to clovis/clovis-vault/SPEC.md diff --git a/oss/app/api/handlers.go b/clovis/clovis-vault/api/handlers.go similarity index 100% rename from oss/app/api/handlers.go rename to clovis/clovis-vault/api/handlers.go diff --git a/oss/app/api/integration_test.go b/clovis/clovis-vault/api/integration_test.go similarity index 100% rename from oss/app/api/integration_test.go rename to clovis/clovis-vault/api/integration_test.go diff --git a/oss/app/api/middleware.go b/clovis/clovis-vault/api/middleware.go similarity index 100% rename from oss/app/api/middleware.go rename to clovis/clovis-vault/api/middleware.go diff --git a/oss/app/api/routes.go b/clovis/clovis-vault/api/routes.go similarity index 100% rename from oss/app/api/routes.go rename to clovis/clovis-vault/api/routes.go diff --git a/oss/app/api/tier_test.go b/clovis/clovis-vault/api/tier_test.go similarity index 98% rename from oss/app/api/tier_test.go rename to clovis/clovis-vault/api/tier_test.go index 00caeb8..5c91521 100644 --- a/oss/app/api/tier_test.go +++ b/clovis/clovis-vault/api/tier_test.go @@ -261,8 +261,8 @@ func TestTierIsolationDB(t *testing.T) { func TestCLICrypto(t *testing.T) { // Find CLI binary via absolute path home := os.Getenv("HOME") - cliBin := home + "/dev/clavitor/oss/cli/clavitor-cli" - cliDir := home + "/dev/clavitor/oss/cli" + cliBin := home + "/dev/clavitor/clovis/clovis-cli/clovis-cli" + cliDir := home + "/dev/clavitor/clovis/clovis-cli" if _, err := os.Stat(cliBin); err != nil { t.Skip("clavitor-cli not found — run 'make cli' first") } diff --git a/oss/app/cmd/clavitor/main.go b/clovis/clovis-vault/cmd/clavitor/main.go similarity index 100% rename from oss/app/cmd/clavitor/main.go rename to clovis/clovis-vault/cmd/clavitor/main.go diff --git a/oss/app/cmd/clavitor/templates/base.html b/clovis/clovis-vault/cmd/clavitor/templates/base.html similarity index 100% rename from oss/app/cmd/clavitor/templates/base.html rename to clovis/clovis-vault/cmd/clavitor/templates/base.html diff --git a/oss/app/cmd/clavitor/templates/claude-code.html b/clovis/clovis-vault/cmd/clavitor/templates/claude-code.html similarity index 100% rename from oss/app/cmd/clavitor/templates/claude-code.html rename to clovis/clovis-vault/cmd/clavitor/templates/claude-code.html diff --git a/oss/app/cmd/clavitor/templates/codex.html b/clovis/clovis-vault/cmd/clavitor/templates/codex.html similarity index 100% rename from oss/app/cmd/clavitor/templates/codex.html rename to clovis/clovis-vault/cmd/clavitor/templates/codex.html diff --git a/oss/app/cmd/clavitor/templates/footer.html b/clovis/clovis-vault/cmd/clavitor/templates/footer.html similarity index 100% rename from oss/app/cmd/clavitor/templates/footer.html rename to clovis/clovis-vault/cmd/clavitor/templates/footer.html diff --git a/oss/app/cmd/clavitor/templates/geo-pops.html b/clovis/clovis-vault/cmd/clavitor/templates/geo-pops.html similarity index 100% rename from oss/app/cmd/clavitor/templates/geo-pops.html rename to clovis/clovis-vault/cmd/clavitor/templates/geo-pops.html diff --git a/oss/app/cmd/clavitor/templates/hosted.html b/clovis/clovis-vault/cmd/clavitor/templates/hosted.html similarity index 100% rename from oss/app/cmd/clavitor/templates/hosted.html rename to clovis/clovis-vault/cmd/clavitor/templates/hosted.html diff --git a/oss/app/cmd/clavitor/templates/index.html b/clovis/clovis-vault/cmd/clavitor/templates/index.html similarity index 100% rename from oss/app/cmd/clavitor/templates/index.html rename to clovis/clovis-vault/cmd/clavitor/templates/index.html diff --git a/oss/app/cmd/clavitor/templates/install.html b/clovis/clovis-vault/cmd/clavitor/templates/install.html similarity index 100% rename from oss/app/cmd/clavitor/templates/install.html rename to clovis/clovis-vault/cmd/clavitor/templates/install.html diff --git a/oss/app/cmd/clavitor/templates/landing.html b/clovis/clovis-vault/cmd/clavitor/templates/landing.html similarity index 100% rename from oss/app/cmd/clavitor/templates/landing.html rename to clovis/clovis-vault/cmd/clavitor/templates/landing.html diff --git a/oss/app/cmd/clavitor/templates/openclaw-cn.html b/clovis/clovis-vault/cmd/clavitor/templates/openclaw-cn.html similarity index 100% rename from oss/app/cmd/clavitor/templates/openclaw-cn.html rename to clovis/clovis-vault/cmd/clavitor/templates/openclaw-cn.html diff --git a/oss/app/cmd/clavitor/templates/openclaw.html b/clovis/clovis-vault/cmd/clavitor/templates/openclaw.html similarity index 100% rename from oss/app/cmd/clavitor/templates/openclaw.html rename to clovis/clovis-vault/cmd/clavitor/templates/openclaw.html diff --git a/oss/app/cmd/clavitor/templates/pricing.html b/clovis/clovis-vault/cmd/clavitor/templates/pricing.html similarity index 100% rename from oss/app/cmd/clavitor/templates/pricing.html rename to clovis/clovis-vault/cmd/clavitor/templates/pricing.html diff --git a/oss/app/cmd/clavitor/templates/privacy.html b/clovis/clovis-vault/cmd/clavitor/templates/privacy.html similarity index 100% rename from oss/app/cmd/clavitor/templates/privacy.html rename to clovis/clovis-vault/cmd/clavitor/templates/privacy.html diff --git a/oss/app/cmd/clavitor/templates/sources.html b/clovis/clovis-vault/cmd/clavitor/templates/sources.html similarity index 100% rename from oss/app/cmd/clavitor/templates/sources.html rename to clovis/clovis-vault/cmd/clavitor/templates/sources.html diff --git a/oss/app/cmd/clavitor/templates/terms.html b/clovis/clovis-vault/cmd/clavitor/templates/terms.html similarity index 100% rename from oss/app/cmd/clavitor/templates/terms.html rename to clovis/clovis-vault/cmd/clavitor/templates/terms.html diff --git a/oss/app/cmd/clavitor/web/agents.html b/clovis/clovis-vault/cmd/clavitor/web/agents.html similarity index 100% rename from oss/app/cmd/clavitor/web/agents.html rename to clovis/clovis-vault/cmd/clavitor/web/agents.html diff --git a/oss/app/cmd/clavitor/web/clavitor-app.css b/clovis/clovis-vault/cmd/clavitor/web/clavitor-app.css similarity index 100% rename from oss/app/cmd/clavitor/web/clavitor-app.css rename to clovis/clovis-vault/cmd/clavitor/web/clavitor-app.css diff --git a/oss/app/cmd/clavitor/web/clavitor.css b/clovis/clovis-vault/cmd/clavitor/web/clavitor.css similarity index 100% rename from oss/app/cmd/clavitor/web/clavitor.css rename to clovis/clovis-vault/cmd/clavitor/web/clavitor.css diff --git a/oss/app/cmd/clavitor/web/crypto.js b/clovis/clovis-vault/cmd/clavitor/web/crypto.js similarity index 100% rename from oss/app/cmd/clavitor/web/crypto.js rename to clovis/clovis-vault/cmd/clavitor/web/crypto.js diff --git a/oss/app/cmd/clavitor/web/design-system/styleguide.html b/clovis/clovis-vault/cmd/clavitor/web/design-system/styleguide.html similarity index 100% rename from oss/app/cmd/clavitor/web/design-system/styleguide.html rename to clovis/clovis-vault/cmd/clavitor/web/design-system/styleguide.html diff --git a/oss/app/cmd/clavitor/web/favicon.svg b/clovis/clovis-vault/cmd/clavitor/web/favicon.svg similarity index 100% rename from oss/app/cmd/clavitor/web/favicon.svg rename to clovis/clovis-vault/cmd/clavitor/web/favicon.svg diff --git a/oss/app/cmd/clavitor/web/homepage2.html b/clovis/clovis-vault/cmd/clavitor/web/homepage2.html similarity index 100% rename from oss/app/cmd/clavitor/web/homepage2.html rename to clovis/clovis-vault/cmd/clavitor/web/homepage2.html diff --git a/oss/app/cmd/clavitor/web/index.html b/clovis/clovis-vault/cmd/clavitor/web/index.html similarity index 100% rename from oss/app/cmd/clavitor/web/index.html rename to clovis/clovis-vault/cmd/clavitor/web/index.html diff --git a/oss/app/cmd/clavitor/web/jsqr.min.js b/clovis/clovis-vault/cmd/clavitor/web/jsqr.min.js similarity index 100% rename from oss/app/cmd/clavitor/web/jsqr.min.js rename to clovis/clovis-vault/cmd/clavitor/web/jsqr.min.js diff --git a/oss/app/cmd/clavitor/web/security.html b/clovis/clovis-vault/cmd/clavitor/web/security.html similarity index 100% rename from oss/app/cmd/clavitor/web/security.html rename to clovis/clovis-vault/cmd/clavitor/web/security.html diff --git a/oss/app/cmd/clavitor/web/test_crypto.js b/clovis/clovis-vault/cmd/clavitor/web/test_crypto.js similarity index 100% rename from oss/app/cmd/clavitor/web/test_crypto.js rename to clovis/clovis-vault/cmd/clavitor/web/test_crypto.js diff --git a/oss/app/cmd/clavitor/web/tokens.html b/clovis/clovis-vault/cmd/clavitor/web/tokens.html similarity index 100% rename from oss/app/cmd/clavitor/web/tokens.html rename to clovis/clovis-vault/cmd/clavitor/web/tokens.html diff --git a/oss/app/cmd/clavitor/web/topbar.js b/clovis/clovis-vault/cmd/clavitor/web/topbar.js similarity index 100% rename from oss/app/cmd/clavitor/web/topbar.js rename to clovis/clovis-vault/cmd/clavitor/web/topbar.js diff --git a/oss/app/cmd/clavitor/web/totp.js b/clovis/clovis-vault/cmd/clavitor/web/totp.js similarity index 100% rename from oss/app/cmd/clavitor/web/totp.js rename to clovis/clovis-vault/cmd/clavitor/web/totp.js diff --git a/oss/app/cmd/clavitor/web/webauthn.js b/clovis/clovis-vault/cmd/clavitor/web/webauthn.js similarity index 100% rename from oss/app/cmd/clavitor/web/webauthn.js rename to clovis/clovis-vault/cmd/clavitor/web/webauthn.js diff --git a/oss/app/cmd/clavitor/web/worldmap.svg b/clovis/clovis-vault/cmd/clavitor/web/worldmap.svg similarity index 100% rename from oss/app/cmd/clavitor/web/worldmap.svg rename to clovis/clovis-vault/cmd/clavitor/web/worldmap.svg diff --git a/oss/app/extension/background.js b/clovis/clovis-vault/extension/background.js similarity index 100% rename from oss/app/extension/background.js rename to clovis/clovis-vault/extension/background.js diff --git a/oss/app/extension/content.js b/clovis/clovis-vault/extension/content.js similarity index 100% rename from oss/app/extension/content.js rename to clovis/clovis-vault/extension/content.js diff --git a/oss/app/extension/icon128.png b/clovis/clovis-vault/extension/icon128.png similarity index 100% rename from oss/app/extension/icon128.png rename to clovis/clovis-vault/extension/icon128.png diff --git a/oss/app/extension/icon16.png b/clovis/clovis-vault/extension/icon16.png similarity index 100% rename from oss/app/extension/icon16.png rename to clovis/clovis-vault/extension/icon16.png diff --git a/oss/app/extension/icon48.png b/clovis/clovis-vault/extension/icon48.png similarity index 100% rename from oss/app/extension/icon48.png rename to clovis/clovis-vault/extension/icon48.png diff --git a/oss/app/extension/manifest.json b/clovis/clovis-vault/extension/manifest.json similarity index 100% rename from oss/app/extension/manifest.json rename to clovis/clovis-vault/extension/manifest.json diff --git a/oss/app/extension/popup.html b/clovis/clovis-vault/extension/popup.html similarity index 100% rename from oss/app/extension/popup.html rename to clovis/clovis-vault/extension/popup.html diff --git a/oss/app/extension/popup.js b/clovis/clovis-vault/extension/popup.js similarity index 100% rename from oss/app/extension/popup.js rename to clovis/clovis-vault/extension/popup.js diff --git a/oss/app/go.mod b/clovis/clovis-vault/go.mod similarity index 100% rename from oss/app/go.mod rename to clovis/clovis-vault/go.mod diff --git a/oss/app/go.sum b/clovis/clovis-vault/go.sum similarity index 100% rename from oss/app/go.sum rename to clovis/clovis-vault/go.sum diff --git a/oss/app/lib/backup.go b/clovis/clovis-vault/lib/backup.go similarity index 100% rename from oss/app/lib/backup.go rename to clovis/clovis-vault/lib/backup.go diff --git a/oss/app/lib/config.go b/clovis/clovis-vault/lib/config.go similarity index 100% rename from oss/app/lib/config.go rename to clovis/clovis-vault/lib/config.go diff --git a/oss/app/lib/crypto.go b/clovis/clovis-vault/lib/crypto.go similarity index 100% rename from oss/app/lib/crypto.go rename to clovis/clovis-vault/lib/crypto.go diff --git a/oss/app/lib/dbcore.go b/clovis/clovis-vault/lib/dbcore.go similarity index 100% rename from oss/app/lib/dbcore.go rename to clovis/clovis-vault/lib/dbcore.go diff --git a/oss/app/lib/id.go b/clovis/clovis-vault/lib/id.go similarity index 100% rename from oss/app/lib/id.go rename to clovis/clovis-vault/lib/id.go diff --git a/oss/app/lib/importers.go b/clovis/clovis-vault/lib/importers.go similarity index 100% rename from oss/app/lib/importers.go rename to clovis/clovis-vault/lib/importers.go diff --git a/oss/app/lib/l2labels.go b/clovis/clovis-vault/lib/l2labels.go similarity index 100% rename from oss/app/lib/l2labels.go rename to clovis/clovis-vault/lib/l2labels.go diff --git a/oss/app/lib/telemetry.go b/clovis/clovis-vault/lib/telemetry.go similarity index 100% rename from oss/app/lib/telemetry.go rename to clovis/clovis-vault/lib/telemetry.go diff --git a/oss/app/lib/telemetry_test.go b/clovis/clovis-vault/lib/telemetry_test.go similarity index 100% rename from oss/app/lib/telemetry_test.go rename to clovis/clovis-vault/lib/telemetry_test.go diff --git a/oss/app/lib/tls.go b/clovis/clovis-vault/lib/tls.go similarity index 100% rename from oss/app/lib/tls.go rename to clovis/clovis-vault/lib/tls.go diff --git a/oss/app/lib/tokenmap.go b/clovis/clovis-vault/lib/tokenmap.go similarity index 100% rename from oss/app/lib/tokenmap.go rename to clovis/clovis-vault/lib/tokenmap.go diff --git a/oss/app/lib/types.go b/clovis/clovis-vault/lib/types.go similarity index 100% rename from oss/app/lib/types.go rename to clovis/clovis-vault/lib/types.go diff --git a/design-system/clavitor-logo.png b/design-system/clavitor-logo.png new file mode 100644 index 0000000..5bfe38a Binary files /dev/null and b/design-system/clavitor-logo.png differ diff --git a/design-system/clavitor-logo.svg b/design-system/clavitor-logo.svg new file mode 100644 index 0000000..ecb96fe --- /dev/null +++ b/design-system/clavitor-logo.svg @@ -0,0 +1,4 @@ + diff --git a/design-system/styleguide.html b/design-system/styleguide.html index fa59d0f..7c1ee5e 100644 --- a/design-system/styleguide.html +++ b/design-system/styleguide.html @@ -101,10 +101,10 @@ /* Logo Lockup — The Trinity */ .logo-lockup { display: inline-flex; gap: 20px; align-items: stretch; } - .logo-lockup-square { width: 96px; height: 96px; background: var(--brand-black); flex-shrink: 0; } - .logo-lockup-text { display: flex; flex-direction: column; justify-content: space-between; height: 96px; padding: 8px 0 10px; } + .logo-lockup-square { width: 80px; height: 80px; background: var(--brand-black); flex-shrink: 0; } + .logo-lockup-text { display: flex; flex-direction: column; justify-content: space-between; height: 80px; } .logo-lockup-wordmark { font-family: var(--font-family); font-size: 56px; font-weight: var(--wordmark-weight); letter-spacing: var(--wordmark-spacing); text-transform: uppercase; color: var(--brand-accent); line-height: 1; } - .logo-lockup-tagline { font-size: 12px; font-weight: 500; color: var(--text-tertiary); letter-spacing: 0.18em; text-transform: uppercase; line-height: 1; } + .logo-lockup-tagline { font-size: 16px; font-weight: 500; color: var(--text-tertiary); letter-spacing: 0.22em; text-transform: uppercase; line-height: 1; margin-bottom: -2px; } /* Colors */ .color-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; } @@ -115,14 +115,15 @@ /* Layout Patterns (from vault1984.com) */ .max-width { max-width: 1200px; margin: 0 auto; padding: 0 24px; } - .grid-2-equal { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; } + .grid-2-equal { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; overflow: visible; } .grid-3-equal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; } .grid-4-equal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; } - .pill-row { display: flex; flex-wrap: wrap; gap: 12px; } + .pill-row { display: flex; flex-wrap: wrap; gap: 12px; overflow: visible; } .pill { display: inline-flex; align-items: center; - height: 32px; padding: 0 16px; + height: 32px; padding: 0 16px; + white-space: nowrap; background: var(--bg-secondary); border: 1px solid var(--border-default); border-radius: 9999px; @@ -240,8 +241,61 @@
- Spec: 72px black square, Figtree 700, 0.25em spacing, aligned left edge to left edge + Spec: Square: 80×80px #0A0A0A (Black Square) · Wordmark: Figtree 700, 56px, 0.25em, #7C3AED (Violet) · Tagline: 16px, 0.22em, uppercase, #737373 (Text Tertiary)
++ ↓ Download clavitor-logo.svg + ↓ Download clavitor-logo.png (800×800) +
+ + + +200%
+150%
+100%
+50%
+