> ## Documentation Index
> Fetch the complete documentation index at: https://memberpulseptyltd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Convex Implementation

> Implementation guide for MemberPulse V3 on Convex: schema, tenancy, security, and domain rules

This section describes how MemberPulse V3 should be implemented on **Convex** with:

* A normalized, queryable data model
* Strict tenant scoping (`clientId`) and isolation
* Secure handling of PII and secrets
* Explicit domain rules enforced server-side

## Start here

<CardGroup cols={2}>
  <Card title="Normalization" icon="layer-group" href="/integrations/backend/convex/normalization">
    What becomes a table vs embedded data, and where join tables are required.
  </Card>

  <Card title="Tenant Scoping" icon="building" href="/integrations/backend/convex/tenant-scoping">
    How we guarantee isolation in a shared Convex deployment.
  </Card>

  <Card title="Security" icon="shield" href="/integrations/backend/convex/security">
    PII, secrets, and authorization patterns.
  </Card>

  <Card title="Domain Rules" icon="gavel" href="/integrations/backend/convex/domain-rules">
    Invariants and lifecycle rules enforced in Convex mutations.
  </Card>

  <Card title="schema.ts" icon="code" href="/integrations/backend/convex/schema">
    The proposed Convex schema and indexes.
  </Card>
</CardGroup>

## Features

### Convex Implementation

#### Acceptance Criteria

##### Frontend

* [ ] Developer-facing configuration and usage is documented and internally consistent.

##### Backend / API

* [ ] Convex implementation matches the rules and contracts described on this page.

##### Permissions

* [ ] Tenant scoping and access controls are enforced as described.

##### Business Rules

* [ ] Domain rules/invariants are enforced as described.

##### Error Handling

* [ ] Access violations and validation failures produce deterministic errors.
