Skip to content

security

Ongoing security concerns and mitigations for the project.


  1. Vault content - User knowledge bases
  2. Credentials - SSO tokens, session data
  3. Infrastructure - Servers, containers
  1. Unauthorized external - Internet attackers
  2. Unauthorized internal - Employees without access
  3. Authorized but malicious - Insider threats

ConcernMitigation
Session hijackingSSO with MFA, session timeouts
VNC protocol exposureHTTPS/WSS only, no raw VNC
Container escapeHardened base images, no root
ConcernMitigation
Data interceptionTLS for WebSocket transport
State file tamperingSigned CRDT states (future)
DoS via large updatesSize limits, rate limiting
ConcernMitigation
Unauthorized vault accessJWT validation, group checking
Privilege escalationVault-level RBAC, no file-level
Audit evasionImmutable audit logs

  • Use OIDC/SAML with enterprise IdP
  • MFA required for sensitive vaults
  • Short session timeouts
User → IdP Groups → Vault Permissions → Mount Control

No file-level permissions by design. See Decision-002.


  • Vault files on encrypted storage
  • CRDT state files alongside content
  • Secrets in secure vault (HashiCorp Vault?)
  • TLS 1.3 for all connections
  • WebSocket over HTTPS (WSS)
  • No plaintext protocols
  • Regular vault backups
  • Point-in-time recovery via CRDT history
  • Backup encryption

RiskMitigation
Malicious pluginsCurated plugin list, no auto-update
Plugin network accessFirewall rules per plugin (ideal)
Data exfiltrationNetwork monitoring, DLP

Options:

  1. Whitelist approach - Only approved plugins
  2. Block GitHub - No plugin downloads, manual install
  3. Review process - Audit before approval

See [Obsidian Setup for Corporate](cyberbase vault) for detailed approach.


  • Vault access (mount)
  • File operations (create, modify, delete)
  • Authentication events
  • Failed access attempts
{
"timestamp": "2024-12-20T00:00:00Z",
"event": "vault_access",
"userId": "user@example.com",
"vaultId": "engineering",
"action": "mount",
"result": "success",
"clientIp": "10.0.0.1"
}
  • Structured JSON logs
  • Ship to SIEM (Splunk, Elastic, etc.)
  • Retention per compliance requirements

  • Access controls (RBAC)
  • Audit logging
  • Encryption in transit/at rest
  • Incident response
  • Data minimization
  • Right to deletion (purge from CRDT?)
  • Data export capability
  • BAA with cloud providers
  • Access logging
  • Encryption requirements

  1. CRDT state signing - How to verify state integrity?
  2. Binary file encryption - Encrypt in MinIO?
  3. Key management - Where to store encryption keys?
  4. Plugin isolation - Can we sandbox plugins?