# Piste security, data storage and privacy

> Piste reads your Shopify store live, imports no orders and keeps no customer records. Tokens are encrypted with AES-256-GCM, each bound to its own record.

Source: https://www.usepiste.com/docs/security

Piste reads your Shopify store live. It doesn't import your orders, and keeps no records of your customers. Every token it stores, for Shopify, Slack and your other connections, is encrypted with AES-256-GCM and bound to its own record. The workspace Piste acts for always comes from who is signed in or messaging, never from what a message says.

## How do people sign in?

| Who | How Piste knows them |
|---|---|
| The owner, on the web | A Piste account, with sign-in handled by Clerk |
| Your team, in Slack | Their Slack account, in the Slack workspace where Piste is installed |
| The owner, over iMessage | A phone number or Apple ID email verified with a one-time code |
| ChatGPT and Claude (early access) | The person's Piste account, through a consent screen |

Every page inside the web app needs you signed in. When you connect Slack or Shopify, the connection link works for 10 minutes, and only in the browser and for the person who started it. The iMessage code lasts 15 minutes, works once, and is stored only in a form that can't be read back.

Piste works out the workspace from that verified identity on every request. A message, a pasted text or a page Piste reads can't make it act for another workspace.

## What does Piste store, and what doesn't it?

| Piste stores | Piste doesn't store |
|---|---|
| Your name and email address, and your workspace's settings | An import or sync of your orders |
| Conversations on every channel: each message and reply, including what Piste read to answer | Your customers' records |
| Automations and their runs, skills, and the workspace's [memory](https://www.usepiste.com/docs/memory) | Your theme |
| Each variant's price, so it can notice a price change | |
| The store changes and [store edits](https://www.usepiste.com/docs/approvals/store-edits) it found or made | |
| The [decision log](https://www.usepiste.com/docs/approvals/decision-log): what needed a decision and who took it | |
| For measurement, daily sales totals by campaign tag and referring channel, with no customer details | |
| Encrypted tokens for each connection | |

Piste also limits what it reads about people:

- Its order lookups don't include a customer's name, email or address.
- Its sales report queries can't ask for a customer's name, email, ID, city or postcode, or for staff details.
- A [store trigger](https://www.usepiste.com/docs/automations/store-triggers)'s run keeps a short summary of each order it matched (its number, date, total and item count, and for a condition about the customer, their order count and lifetime spend), with no customer's ID, name, email or address.

When Shopify asks Piste to export or erase one customer's data, Piste has no customer records to export or erase.

## How are tokens and credentials protected?

- **Encrypted and bound to their record.** Shopify, Slack, ad account and ChatGPT plan tokens, MCP server credentials and assistants' tokens are encrypted with AES-256-GCM before they're stored. Each is bound to its own record, so a copy moved to another record can't be opened.
- **Shopify tokens expire.** Piste's Shopify access token lasts 1 hour and is renewed with a refresh token that lasts 90 days.
- **The agent never sees credentials.** An [MCP server](https://www.usepiste.com/docs/mcp-servers)'s credential "is stored encrypted and never shown to the agent". [Connected apps](https://www.usepiste.com/docs/apps) sign in through Composio, which holds the sign-in.
- **The coder has no passwords.** When a site needs a sign-in during a [job](https://www.usepiste.com/docs/jobs), the coder hands you its browser and you sign in yourself. The browser keeps a profile for each site, so a sign-in lasts from one job to the next.
- **Claude Code keeps your Claude sign-in.** When you connect your [Claude plan](https://www.usepiste.com/docs/jobs#how-do-i-run-jobs-on-my-claude-plan) for jobs, you sign in on Claude's site, and Claude Code keeps the sign-in on a private drive that only the computers your Claude jobs run on open. Piste's database holds no Claude token, and Piste never reads your password or the sign-in.

Piste's privacy policy adds that data travels over TLS, and that access to production systems is limited to the people who need it.

## What Shopify access does Piste ask for?

When you install it, Piste asks Shopify only to read: your orders (the last 60 days), products, inventory, discounts, locations and marketing events. It can't change anything with that access, and it has no access to your theme or your customers' details.

Each extra permission is a button on Piste's page in your Shopify admin, under "More access Piste can use". You grant only the ones you want:

| Button | What it lets Piste do |
|---|---|
| `Allow Piste to read your sales reports` | Answer questions about your sales over any period |
| `Allow access to older orders` | Report on orders from more than 60 days ago |
| `Allow Piste to publish landing pages` | Publish landing content for its theme blocks, after an approval |
| `Allow Piste to change prices` | Change a price, or take pre-orders, when someone approves it from a card |
| `Allow Piste to change discounts` | Limit, end or turn off a discount when someone approves it from a card |
| `Allow Piste to hold orders` | Hold a risky order's fulfilment when someone presses the card's button |

Even with every permission, Piste changes your store only when a person decides. The one exception is putting a price back, as planned, when a price probe someone started comes to its end. See [Shopify](https://www.usepiste.com/docs/shopify) and [Store edits](https://www.usepiste.com/docs/approvals/store-edits).

## Who can see and change what?

- **The owner** signs in on the web, sees every web and iMessage chat, and alone connects accounts, sets up automations and reads the decision log.
- **Full members of your Slack workspace** can ask Piste about your store, and decide most cards under an automation's post. Their conversations can't use your connected apps or MCP servers.
- **Slack guests, deactivated accounts and other organisations** can't start talking to Piste or decide on its cards. Card presses are checked with Slack every time; messages only on someone's first, so a light member Slack later makes a guest can still message Piste.
- **[Report pages](https://www.usepiste.com/docs/report-pages)** open only for someone signed in to your workspace, which in practice means the owner, unless the owner sets one to "Anyone with the link". Every report page asks search engines not to index it.

See [Team and roles](https://www.usepiste.com/docs/team) for the full table.

## Is my data used to train AI models?

Piste's [privacy policy](https://www.usepiste.com/privacy) says: "We do not use data from your Shopify store, your ad accounts or your Google account to train AI models." The agent runs on models from providers such as Anthropic and OpenAI, and the policy says: "We use these providers under terms that do not allow them to train their models on it."

The content of a conversation, and the data Piste reads to answer it, is sent to the model provider to write the reply.

## Which services process my data?

The privacy policy names the service providers that run Piste:

| Service | What for |
|---|---|
| Vercel | Hosting, the AI Gateway, file storage and job sandboxes |
| Neon | Database |
| Clerk | Sign-in |
| Anthropic, OpenAI and other model providers | The agent's replies |
| Photon | iMessage delivery |
| Slack | Slack conversations and posts |
| Composio | Connected apps |
| Browserbase | The coder's browser |
| Context.dev | Looking up your brand from your website during setup |
| treg.to | Paid data tools, when Piste makes a paid data call |

## What happens when I uninstall Piste from Shopify?

There's no Disconnect for Shopify inside Piste. To disconnect a store, uninstall Piste in your Shopify admin.

1. **At once:** Piste clears the store's tokens, and the store leaves your workspace.
2. **48 hours later:** Shopify asks Piste to erase the store's data, and Piste deletes the store's record, unless you installed Piste on the store again.

## How do I disconnect Slack and other accounts?

On the Connections page, in the links at the foot of the sidebar, Slack, iMessage and ad accounts each have their own `Disconnect`:

- **Slack:** Piste uninstalls itself from that Slack workspace, then forgets the installation and everyone's Slack link to it. If Slack doesn't respond, nothing is removed and you can try again.
- **iMessage:** your number stops reaching Piste. Past conversations stay in Chats.
- **Ad accounts** (early access): Piste deletes the token and the daily totals it read. Studies keep the numbers they were worked out from.
- **Apps:** on the Apps page, `Disconnect` deletes the app's sign-in at Composio, and Piste loses access.
- **Assistants:** on the Connections page, `Revoke` under Assistants stops a ChatGPT or Claude connection at once.
- **Claude plan, for jobs:** `Disconnect` on the Claude card under Jobs signs Claude Code out of your Claude account and deletes the storage that held its sign-in.

## How do I delete my account?

There's no delete button in the app. Email support@usepiste.com from the address on your Piste account and ask for your account to be deleted. Piste's [data deletion page](https://www.usepiste.com/data-deletion) says it deletes your workspace and everything in it within 30 days: chats, automations, memory, connections and their tokens, and any ad totals, sales totals and studies.

Until then, Piste keeps your workspace's data while your account is open. Chats and memory don't expire on their own. Deleting a chat removes it from your chats, but doesn't erase the conversation's full history.

## At a glance

| What | When |
|---|---|
| Slack or Shopify connection link | Expires after 10 minutes |
| iMessage connection code | Expires after 15 minutes, works once |
| Shopify access token | Lasts 1 hour, renewed with a 90-day refresh token |
| Shopify tokens after an uninstall | Cleared at once |
| Store record after an uninstall | Deleted 48 hours later, when Shopify asks |
| Chats and memory | Kept while your account is open |
| Account deletion | Within 30 days of your email |

## Related

- [Team and roles](https://www.usepiste.com/docs/team): who can do what in your workspace.
- [Shopify](https://www.usepiste.com/docs/shopify): connecting, permissions and uninstalling.
- [How Piste works](https://www.usepiste.com/docs/how-piste-works): what Piste reads, and what waits for a person.

## Questions

### Does Piste copy my orders or customer records?

No. Piste reads your store live through Shopify's Admin API when it needs to. It doesn't import your orders, and keeps no records of your customers. Its order lookups don't include a customer's name, email or address.

### How does Piste protect my Shopify and Slack tokens?

Every stored token is encrypted with AES-256-GCM and bound to its own record, so a copy moved to another record can't be opened. Shopify's access tokens also expire after an hour and are renewed.

### Is my data used to train AI models?

Piste's privacy policy says it doesn't use data from your Shopify store, your ad accounts or your Google account to train AI models, and that it uses model providers under terms that don't allow them to train their models on it.

### What happens to my data when I uninstall Piste from Shopify?

Piste clears the store's tokens at once, and the store leaves your workspace. Shopify asks for the store's data to be erased 48 hours later, and Piste then deletes the store's record, unless you installed Piste again.

### How do I delete my Piste account?

There's no delete button in the app. Email support@usepiste.com from the address on your account. Piste's privacy policy says it deletes your workspace's data within 30 days, except where the law requires it to keep something.

### Who in my company can see my store's data through Piste?

The owner, and anyone who's a full member of the Slack workspace where Piste is installed, since they can ask Piste about the store. Slack guests and people from other organisations can't start using it.
