Skip to main content

Account And Membership

Identity Model​

Each user has a stable UUID stored in WordPress and used by the backend as the primary identity.

The backend does not use integer WordPress user IDs as its main identity key.

Membership Model​

The live product model is binary:

  • free
  • paid

The backend stores the current membership state in the active database filename:

  • free_{uuid}.db
  • paid_{uuid}.db

Free Users​

Free users may read data, but they may not write user state.

The backend enforces this at request time by blocking write methods for free users except for a small bootstrap/auth allowlist.

Paid users can create and update presets, content, runs, and related user data.

Paid status is also what unlocks normal write flows from the frontend.

Provisioning​

On signup, the WordPress plugin creates or confirms the user's UUID and calls POST /api/users.

The backend creates the user's encrypted database, seeds initial data, caches the DB key in RAM, and writes a recovery file.

Membership Changes​

WordPress calls the backend membership endpoints through the plugin:

  • POST /api/users/{uuid}/activate
  • POST /api/users/{uuid}/deactivate

The backend renames the active DB file and updates the in-memory registry.