clavitor/clavis/clavis-vault/cmd/clavitor/web/SPEC-import-matrix.md

16 KiB

Import Matrix — Field Mapping

All tables use the same columns. Empty cells = competitor does not support that field for that type.

Field Kinds

kind describes the data type for rendering. NOT sensitivity — that's tier.

Kind Rendering Examples
text Plain text username, cardholder, city, ssn, cvv, password
email mailto: link email fields
phone tel: link phone fields
totp TOTP code generator totp seeds / otpauth URIs
url Clickable link hostname fields
date Formatted date expiry, purchase_date

Encryption Tiers

tier determines encryption and visibility. Independent of kind.

Tier Encryption Who can decrypt Examples
L1 Server-side (AES-GCM with L1 key) Server, all agents title, urls, notes, username, email, cardholder, address, expiry
L2 Client-side (PRF-derived L2 key) CLI, extension, agents with L2 password, totp, license_key, passphrase, db password, wifi password
L3 Client-side (PRF-derived L3 key) Hardware tap only card number, cvv, pin, ssn, passport, license, private_key, seed_phrase

Canonical Field Definitions

Every field we store. The label, kind, and tier are authoritative.

Credential fields

Label Kind Tier
username text L1
password text L2
totp totp L2
email email L1

Card fields

Label Kind Tier
cardholder text L1
number text L3
cvv text L3
pin text L3
brand text L1

Identity fields

Label Kind Tier
first_name text L1
last_name text L1
middle_name text L1
email email L1
phone phone L1
address1 text L1
address2 text L1
city text L1
state text L1
zip text L1
country text L1
company text L1
ssn text L3
passport text L3
license text L3

SSH Key fields

Label Kind Tier
public_key text L1
private_key text L3
passphrase text L2
fingerprint text L1
key_type text L1

Software License fields

Label Kind Tier
license_key text L2
version text L1
publisher text L1
purchase_date date L1
email email L1

Database fields

Label Kind Tier
db_type text L1
hostname url L1
port text L1
database text L1
username text L1
password text L2
sid text L1
connection_string text L2

Wi-Fi fields

Label Kind Tier
ssid text L1
password text L2
encryption text L1

Server fields

Label Kind Tier
hostname url L1
username text L1
password text L2

Crypto Wallet fields

Label Kind Tier
seed_phrase text L3
private_key text L3
wallet_address text L1
derivation_path text L1
network text L1
passphrase text L2

Competitor Mapping

Credential

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 metadata.name name overview.title name title Title name title Name title name hostname Title Title
urls L1 content.urls[] login.uris[].uri overview.urls[] url domain URL url login_url Url field type=url url url URL URL
notes L1 metadata.note notes details.notesPlain extra note Notes note notes Note notes Notes Notes
username text L1 content.itemEmail / itemUsername login.username designation=username username email / login UserName username login Login type=username username username Username Username
password password L2 content.password login.password designation=password password password Password Password Password password password Pwd type=password password password
totp totp L2 content.totpUri login.totp field type=otp totp otpSecret plugin: TimeOtp-Secret-Base32 $oneTimeCode type=totp OTPAuth TOTP
email text L1 content.itemEmail field label=email email type=email
custom fields per type L1/L2 extraFields[] fields[] sections[].fields[] parsed from extra custom strings custom_fields[] RfFieldsV2 extra fields

Card

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 metadata.name name overview.title name name Title name title Name title
notes L1 metadata.note notes details.notesPlain Notes note Notes note notes Note notes
cardholder text L1 cardholderName card.cardholderName field=cardholder Name on Card holder cardholdername cardholderName label=Cardholder
number password L3 number card.number field=ccnum Number cardNumber cardnumber cardNumber type=credit_card
cvv password L3 verificationNumber card.code field=cvv Security Code securityCode cvc cardSecurityCode label=CVV
expiry text L1 expirationDate expMonth+expYear field=expiry Expiration Date expireDate expirydate cardExpirationDate label=Expiry
pin password L3 pin field=pin pinCode
brand text L1 cardType card.brand field=type Type issuing_bank

Identity

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 metadata.name name overview.title name name Title name title Name title
notes L1 metadata.note notes details.notesPlain Notes note Notes notes Note notes
first_name text L1 firstName identity.firstName field=firstname First Name firstName full_name name.first First Name label=First name
last_name text L1 lastName identity.lastName field=lastname Last Name lastName name.last Last Name label=Last name
middle_name text L1 identity.middleName field=initial Middle Name middleName name.middle Middle Name
email text L1 email identity.email field=email Email email email email Email type=email
phone text L1 phoneNumber identity.phone field=defphone Phone phone_number phone_number phone.default Phone type=phone
address1 text L1 streetAddress identity.address1 field=address.street Address 1 addressStreet address1 address.street Address 1 label=Address
address2 text L1 identity.address2 Address 2 address2 Address 2
city text L1 city identity.city field=address.city City / Town addressCity city address.city City label=City
state text L1 stateOrProvince identity.state field=address.state State addressState state address.state State label=State
zip text L1 zipOrPostalCode identity.postalCode field=address.zip Zip / Postal Code addressZipcode zipcode address.zip Zip label=ZIP
country text L1 country identity.country field=address.country Country addressCountry country address.country Country label=Country
company text L1 organization identity.company field=company Company company Company label=Company
ssn password L3 socialSecurityNumber identity.ssn field=socialsecurity Social Security Number accountNumber
passport password L3 passportNumber identity.passportNumber field=passport Passport Number label=Passport
license password L3 licenseNumber identity.licenseNumber field=license Driver's License label=License

Note

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 metadata.name name overview.title name title Title name title Name title
notes L2 metadata.note notes details.notesPlain extra content Notes note notes Note notes

SSH Key

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 overview.title name title
public_key text L1 field=public_key Public Key keyPair.publicKey
private_key password L3 field=private_key Private Key keyPair.privateKey
passphrase password L2 field=password Passphrase passphrase
fingerprint text L1 field=fingerprint
key_type text L1

Software License

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 overview.title name
license_key password L2 field=reg_code License Key
version text L1 field=product_version Version
publisher text L1 field=publisher_name
purchase_date text L1 field=order_date
email text L1 field=reg_email

Database

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 overview.title name
db_type text L1 field=database_type Type
hostname text L1 field=hostname Hostname
port text L1 field=port Port
database text L1 field=database Database
username text L1 field=username Username
password password L2 field=password Password
sid text L1 field=options
connection_string password L2

Wi-Fi

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 name
ssid text L1 SSID
password password L2 Password
encryption text L1 Connection Type

Server

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1 overview.title name
hostname text L1 field=url Hostname
username text L1 field=username Username
password password L2 field=password Password

Crypto Wallet (Clavitor-only)

Clavitor Field Kind Tier Proton Pass Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC
title L1
seed_phrase password L3
private_key password L3
wallet_address text L1
derivation_path text L1
network text L1
passphrase password L2

Tier Summary

Tier What Examples
L1 Server-readable. Titles, URLs, usernames, labels, metadata. title, urls, notes, username, email, cardholder, expiry, address fields
L2 Agent-decryptable. Operational secrets that agents/extensions need. password, totp, license_key, db password, wifi password, server password, ssh passphrase, note content
L3 Hardware tap only. PII, financial, government IDs. card number, cvv, pin, ssn, passport, driver's license, private keys, seed phrases

Coverage Summary

Feature Proton Bitwarden 1Password LastPass Dashlane KeePass NordPass Keeper RoboForm Enpass Chrome Firefox Safari/iCloud KeePassXC Clavitor
Credential
TOTP plugin
Card
Identity
Note
SSH Key
License
Database
Wi-Fi
Server
Crypto Wallet
Custom Fields
L2/L3 tiers