Skip to main content
Trusset provides infrastructure for encrypting your instance data while you maintain complete control over encryption keys. We have zero access to your encrypted data - if you lose your key, data becomes permanently unrecoverable.

Encryption architecture

AES-256 Encryption

Military-grade encryption standard protecting all instance data at rest

Client-Side Keys

Encryption keys never leave your control - Trusset cannot decrypt your data

Instance Isolation

Each instance encrypts data separately - no cross-instance data access possible

Public Data Control

Mark specific datasets as public for controlled third-party access

Data categories

Trusset manages three distinct data categories with different storage approaches:
  • Private Instance Data: Customer records, internal documents, compliance files - encrypted with your instance key, stored in Trusset infrastructure, inaccessible to Trusset.
  • Public Data: Token metadata, pricing information, public documents - encrypted but marked for controlled sharing via REST endpoints when needed.
  • On-Chain Data: Smart contract state, transaction history, public blockchain records - stored on blockchain, publicly readable by design.

Manage encryption keys

CRITICAL: Losing your encryption key means permanent data loss. Trusset cannot recover lost keys or decrypt data without them. Back up keys securely immediately after instance creation.
Current Approach: You manage encryption keys independently using your preferred secrets management system. Coming Soon: Integrated key management options including hardware security modules (HSM), multi-signature key recovery, and encrypted key backup services.

On-chain data strategy

Personal information stays off-chain, except what an identity register keeps for each verified wallet. That record is public and anyone can read it by wallet address. What it holds depends on the register your instance writes to:
  • Your instance’s own ERC-3643 register: the investor country, which the register stores by design as its ISO 3166-1 numeric code, and a residency claim hash on the investor’s ONCHAINID, the keccak256 hash of the three-letter country code, which anyone can match by hashing each code. Both are written under your signature.
  • The Trusset ID Register, used by an instance without a register of its own: the wallet’s investor type (its MiFID classification as a number from 0 to 3), a hash of the verification, the wallet of the verifier that wrote it, the verification time and the expiry times, and whether the record is active or frozen. It also keeps every claim written for the wallet (KYC, AML, accreditation, residency, citizenship, tax residency, sanctions check or PEP check): the claim type, a hash of its data, the wallet that issued it, when it was issued, when it expires and whether it is active. Anyone can list them with getClaims. A claim entered as a short value, such as a country code or a yes or no answer, is hashed without a salt, so it can be matched by hashing each possible value. See Investor Profiles.
Everything else is kept off-chain or reduced to what the contracts need:
  • Zero-Knowledge Proofs: Users prove identity attributes (age, accreditation, citizenship) without revealing underlying data.
  • IPFS Storage: Documents, metadata, and public files store on IPFS with content addressing. Only document hashes record on-chain, linking to off-chain content.
  • Minimal On-Chain State: Smart contracts only store essential information - token balances, ownership records, configuration parameters. Everything else lives off-chain.

Public data endpoints (coming soon)

Mark datasets as “public” to enable controlled sharing with partners, auditors, or service providers:
Configure which data categories to make accessible:
Public data remains encrypted but becomes readable through authenticated REST endpoints you control.