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

# Privacy and personal data

> What the plugin records about a customer, and how WordPress's export and erase tools answer for it

export const Pro = () => <span style={{
  display: 'inline-flex',
  alignItems: 'center',
  verticalAlign: 'middle',
  fontSize: '0.68em',
  fontWeight: 700,
  letterSpacing: '0.07em',
  lineHeight: 1,
  padding: '0.32em 0.55em',
  borderRadius: '0.3em',
  background: '#f5b301',
  color: '#2b2000',
  marginLeft: '0.4em',
  textTransform: 'uppercase'
}}>
    Pro
  </span>;

CartPresets records one piece of personal data: a **redemption row**. It's written when an order containing a preset reaches one of the statuses that count towards purchase limits — on hold, processing or completed by default.

Nothing is recorded while a customer is browsing, and nothing is recorded when they follow a preset link. The row is written at the order, and it's **removed again** if that order leaves the counted statuses, so a cancelled order doesn't leave a claim behind.

## What is recorded, and why

A purchase limit has to recognise the same customer twice, or it can't count.

| Customer  | Recorded as                          | Why                                                                                |
| --------- | ------------------------------------ | ---------------------------------------------------------------------------------- |
| Signed in | `user:<id>` — their account          | Stable, and already yours                                                          |
| A guest   | `email:<billing email>`, lower-cased | A guest has no account; the address is the only stable way to recognise them again |

Alongside the key, the row holds the preset, the order, and when the claim happened. **No IP address is recorded**, and nothing else about the person is stored.

A developer can change how customers are identified with `cartpresets_redemption_customer_key` — see the [hooks reference](/cartpresets/developers/hooks-reference#identity-and-keys).

## Export Personal Data

WordPress's own **Tools → Export Personal Data** screen lists CartPresets among its sources.

An export returns every preset that address claimed, under the heading **Preset claims**:

| Field      | Holds                                                         |
| ---------- | ------------------------------------------------------------- |
| Preset     | Its name, or *Deleted preset #N* if it has since been deleted |
| Claimed on | The date and time of the claim                                |
| Order      | The order the claim belongs to, when there is one             |

An address answers for **both** keys it can have. Somebody who bought once as a guest and later opened an account with the same address is one person, whatever the table says, so you get back the guest rows and the account rows.

## Erase Personal Data

**Tools → Erase Personal Data** anonymises the claim rather than deleting it. The customer key is replaced with a value derived from nothing about them. WordPress reports the rows as **retained**, with a message explaining why.

<Note>
  A redemption row says two things at once: **who** claimed a preset, and **that** the preset was claimed. The first is personal data. The second is stock.
</Note>

Deleting the row would give a limited run its slot back. A preset capped at fifty could sell a fifty-first, because the record of one sale had gone. One customer exercising their rights would quietly change what another customer can buy. Anonymising keeps the count honest and leaves nothing that identifies anyone.

After an erasure:

* The address is gone from the plugin's tables.
* The claim still counts against the preset's total limit.
* The person can claim that preset again, because nothing links the old claim to them. That's the right result for a customer who has been forgotten.

## What the tools do not touch

**Order line item meta stays.** Every preset order line carries the preset's ID and its name as it was at the time. That's order history, not personal data: it names a preset, not a person. See [Order line item meta](/cartpresets/developers/order-meta).

WooCommerce's own exporters and erasers still handle the order itself, the customer record and any downloads, just as they always do.

## Nothing on your storefront

Both handlers register in wp-admin only. A shopper browsing your store never loads them, and the privacy tools add nothing to a front-end request.

## Uninstalling

Erasing a customer isn't the same as removing the tables. What an uninstall deletes is a separate, opt-in decision — see [Data and uninstall](/cartpresets/settings/data-and-uninstall).
