Commit Graph

12 Commits

Author SHA1 Message Date
James 230acd394e feat: vault v2 rewrite — CVT tokens, scoped access, agents-as-entries, 14 importers
Complete vault rewrite with correct foundation:

- CVT encrypted envelope tokens (type 0x00 wire, type 0x01 client credential)
- Agents and scopes stored as L1-encrypted entries (no separate tables)
- Scope-based access control with AgentCanAccess() set intersection
- Owner-only admin enforcement (agents cannot manage agents/scopes)
- 14 password manager importers (Proton, Bitwarden, 1Password, LastPass,
  Dashlane, KeePass, KeePassXC, NordPass, Keeper, RoboForm, Enpass,
  Safari/iCloud, Chrome, Firefox)
- FIELD_SPEC single source of truth for field kind and tier
- L2/L3 client-side encryption on import (PRF required)
- Domain classification service on clavitor.ai/classify
- Scope auto-assignment during import (13 categories)
- Light theme default (Figtree font, matching clavitor.ai branding)
- Unified page shell across all screens (topbar on every page)
- Batch import with progress indicator
- ZIP extraction for Proton Pass exports
- Proton dedup by title+user+url
- 55 tests passing (26 API + 29 lib)
- Key leak detection tests (L1/L2/L3 never in responses)
- CLI updated for CVT token format
- Old code archived in _old/

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:36:04 -04:00
James dcdca016db feat: add MITM proxy mode with LLM policy evaluation (C-017)
- New package clavis/clavis-vault/proxy/
  - HTTPS MITM proxy via HTTP CONNECT tunnel
  - Dynamic per-host TLS cert generation (signed by local CA)
  - CA cert auto-generated at DataDir/proxy/ca.crt (1-year validity)
  - Per-cert cache with 24h TTL
  - Credential injection hook (stub — DB wiring next)
  - LLM policy evaluation hook (stub — OpenAI-compatible API)
  - L2 (identity/card) fields are never injectable by design

- cmd/clavitor/main.go: new flags
  --proxy            Enable proxy mode (default: off)
  --proxy-addr       Listen addr (default: 127.0.0.1:19840)
  --proxy-llm        Enable LLM policy evaluation
  --proxy-llm-url    LLM base URL (OpenAI-compat)
  --proxy-llm-key    LLM API key
  --proxy-llm-model  LLM model name

Usage:
  clavitor --proxy
  export HTTP_PROXY=http://127.0.0.1:19840 HTTPS_PROXY=http://127.0.0.1:19840
  # Install DataDir/proxy/ca.crt in OS trust store for HTTPS MITM
2026-03-29 08:54:51 -04:00
James f5f852fe40 rebrand: rename vault1984 references to clavitor in Makefile and pop-sync (C-005) 2026-03-29 07:16:12 -04:00
James 472e9dc07b chore: auto-commit uncommitted changes 2026-03-29 06:01:26 -04:00
James f9e2a3bdf1 seo: enhanced sitemap.xml with lastmod/priority/changefreq, added Open Graph meta tags, added JSON-LD structured data (WebSite, Organization, SoftwareApplication schemas), improved robots.txt 2026-03-29 02:24:59 -04:00
James 35c9e106b5 chore: auto-commit uncommitted changes 2026-03-28 06:01:23 -04:00
James fc9f49bf18 chore: auto-commit uncommitted changes 2026-03-27 06:03:32 -04:00
James 27c26c03b3 chore: auto-commit uncommitted changes 2026-03-26 18:03:10 -04:00
James 14b6079a61 chore: auto-commit uncommitted changes 2026-03-26 12:01:24 -04:00
James 0922dde30a chore: auto-commit uncommitted changes 2026-03-26 06:03:15 -04:00
James cb7c7c51ce chore: auto-commit uncommitted changes 2026-03-26 00:01:24 -04:00
James 55699985ae chore: auto-commit uncommitted changes 2026-03-25 06:04:04 -04:00