Security Model

How PsicoStacks protects your sensitive psychometric data.

Multi-Layer Security

Layer 1: Encryption (AES-256-GCM)

All sensitive credential data is encrypted before storage using AES-256-GCM, a military-grade encryption standard.

  • 256-bit encryption key
  • Galois/Counter Mode for authenticated encryption
  • Unique initialization vector (IV) per credential
  • Authentication tag prevents tampering

Layer 2: Blockchain (Stacks)

Only metadata and commitment hashes stored on-chain. Benefits from Bitcoin's security via Stacks.

  • Inherits Bitcoin's Proof-of-Work security
  • Immutable audit trail
  • No PII stored on-chain
  • Cryptographic proof of issuance

Layer 3: Access Control

Time-limited, one-time tokens control access to decrypted data.

  • Share tokens: 2-hour expiry
  • View tokens: 60-second expiry, one-time use
  • Token invalidation on use
  • Automatic cleanup of expired tokens

What's Stored Where

✅ On-Chain (Public)

  • • Credential ID
  • • Owner wallet address
  • • Issuer wallet address
  • • Schema version
  • • Commitment hash (SHA-256)
  • • Expiry block height
  • • Revocation status

🔒 Off-Chain (Encrypted)

  • • Full psychometric report
  • • Test scores & percentiles
  • • AI analysis & insights
  • • Personal information
  • • Assessment metadata

Threat Model & Mitigations

Threat: Data Breach

Mitigation:

  • All data encrypted at rest (AES-256-GCM)
  • Encryption keys stored separately from data
  • Even with database access, data remains unreadable

Threat: Credential Forgery

Mitigation:

  • Blockchain immutability prevents tampering
  • Commitment hash cryptographically proves data integrity
  • Any modification invalidates the hash

Threat: Unauthorized Access

Mitigation:

  • Time-limited tokens (60s for full access)
  • One-time use view tokens
  • Payment required for full report
  • Candidate can revoke anytime

Threat: Credential Selling/Transfer

Mitigation:

  • Soulbound Tokens (non-transferable)
  • Wallet-bound credentials
  • Smart contract enforces non-transferability

Privacy by Design

  • Minimal On-Chain Data:

    Only necessary metadata on blockchain. No PII exposed.

  • User-Controlled Sharing:

    Candidates decide who can access and can revoke anytime.

  • Time-Limited Access:

    60-second windows prevent long-term data retention by verifiers.

  • Audit Trail:

    All verifications logged on-chain for transparency.

Best Practices for Users

For Candidates

  • Keep your wallet Secret Key secure
  • Only share credentials with trusted employers
  • Revoke credentials when no longer needed
  • Review verification logs regularly

For Employers

  • Only request credentials you need
  • Review data within 60-second window
  • Don't share view tokens (they're one-time use)
  • Respect candidate privacy

Learn More