Canonical Technical Definition

A cryptographic security model where data is encrypted directly on the client user's device using private keys before it is stored or transmitted, ensuring third parties cannot read it.

Client-side encryption (often coupled with zero-knowledge architecture) is a cryptographic design pattern where information is encrypted and decrypted exclusively on the user’s local endpoint device.

When software enforces client-side encryption, plaintext data is transformed into ciphertext using cryptographic algorithms (such as AES-GCM-256 or ChaCha20-Poly1305) before the data is written to disk or transferred over a network. The encryption keys remain strictly in the possession of the user and are never disclosed to the application vendor, cloud storage host, or network transit providers.

The critical difference between encryption models

Many commercial cloud note apps claim they feature “bank-grade encryption.” However, there is a fundamental distinction between storage encryption models:

Encryption DimensionServer-Side Encryption (Cloud SaaS)Client-Side Encryption / Local-First
Key CustodyCloud vendor controls encryption keysUser exclusively holds encryption keys
Vendor Decryption AbilityVendor employees can inspect dataMathematically impossible for vendor to read
Subpoena VulnerabilityVendor can be compelled to hand over plaintextVendor has zero readable data to produce
Cloud Breach RiskDatabase dump exposes all customer notesCiphertext is unreadable without user key

Cryptographic key derivation

In true client-side encrypted systems, the master key is derived from a user passphrase using memory-hard key derivation functions like Argon2id or PBKDF2:

[User Master Passphrase] + [Random Salt]
                   ↓
        [Argon2id KDF (Time + RAM)]
                   ↓
    [256-Bit Master Cryptographic Key]
                   ↓
     [AES-256-GCM / XTS-AES-128]
                   ↓
           [Encrypted Note]

This guarantees that brute-force dictionary attacks against stolen ciphertext are computationally infeasible.

Client-side encryption vs Operating system encryption

Some note applications implement complex custom encrypted databases on disk. However, this creates severe trade-offs: custom encrypted blobs cannot be indexed by Spotlight, cannot be searched with grep, and cannot be opened if the application develops bugs.

How Oyma protects your files

Oyma takes a cleaner, battle-tested architectural approach on macOS:

  • Notes are stored in transparent, open UTF-8 Markdown format on your local drive.
  • Encryption at rest is delegated to macOS FileVault, Apple’s hardware-accelerated, Secure Enclave-backed whole-disk encryption.
  • Because Oyma initiates zero cloud network egress, your files are never exposed to remote internet vectors in the first place.

You get the full security of cryptographic hardware protection alongside the universal interoperability of open plain text.

Frequently asked questions about Client-Side Encryption

How does client-side encryption differ from server-side encryption (encryption at rest)?

Server-side encryption is performed by the cloud provider using keys the provider controls, meaning their employees or subpoenas can decrypt your data. Client-side encryption ensures only you hold the keys.

What is zero-knowledge architecture?

Zero-knowledge architecture means the software provider has zero mathematical ability to decrypt user data, reset passwords, or inspect files, because encryption keys never leave the user's local device.

How does Oyma handle encryption on macOS?

Oyma stores plain-text files on your Mac's internal drive, relying on hardware-accelerated Apple FileVault (XTS-AES-128) whole-disk encryption protected by your Secure Enclave.