{"about":"What is true about Customer Magic as a provider: who runs it, where data is stored and processed, every sub-provider, how long things are kept, and what is not offered. Generated from one file; the human page, this JSON and the agreement's annexes cannot disagree.","version":"2026-10-14.1","asOf":"2026-10-14","urls":{"page":"https://customermagic.ai/trust","json":"https://customermagic.ai/trust.json","markdown":"https://customermagic.ai/trust.md","agreement":"https://customermagic.ai/trust/agreement.md","accept":"https://customermagic.ai/settings/trust#agreement"},"product":{"name":"Customer Magic","url":"https://customermagic.ai"},"provider":{"legalName":"Pirate Skills GmbH","address":"Im Mediapark 5, 50670 Cologne, Germany","register":"Amtsgericht Köln HRB 106817","vatId":"DE278873758","representedBy":"Ben Sufiani","imprint":"https://pirateskills.com/contact","dataContact":"contact@pirateskills.com","people":"One person, Ben Sufiani, runs Customer Magic and is the only one with access to production data."},"answers":{"training":"Customer data is not sold, not shared, and not used to train models. We train and fine-tune nothing on it, and since 11 Oct 2026 every model call is limited to providers that do not train on prompts.","storage":"Stored in Frankfurt, Germany (Neon Postgres on AWS eu-central-1), since 11 Oct 2026. Before that day it was in the US (AWS us-east-1).","processing":"Processed in Frankfurt, Germany (Vercel functions, region fra1), since 11 Oct 2026; before that day in Washington, D.C. Five things happen outside Frankfurt: page delivery and the sign-in check (Vercel's network, nearest the reader), accounts (Clerk, US), payments (Stripe, worldwide), the mails we send you (Resend, US), and model calls for the built-in assistant (place not established).","signing":"The agreement is between Pirate Skills GmbH, represented by Ben Sufiani, and the company a workspace admin names when accepting. Only a signed-in admin can accept. An assistant cannot.","leaving":"When you end the contract, export first if you want a copy; a download works even after a subscription ends. A workspace is deleted when its admin asks us, within 30 days of the request, with everything in it. Invoices are kept for as long as German tax law requires.","subProviderChanges":"Every change to the list below is dated in the change log. A new sub-provider is announced 30 days before it starts, by mail to the address your workspace names."},"storage":{"providerId":"neon","place":"Frankfurt, Germany","region":"aws-eu-central-1","since":"2026-10-11","before":"AWS us-east-1 (Virginia, US) until 11 Oct 2026"},"processing":{"providerId":"vercel","place":"Frankfurt, Germany","region":"fra1","since":"2026-10-11","before":"iad1 (Washington, D.C., US) until 11 Oct 2026","outsideRegion":["Pages and static files are delivered from Vercel's network location nearest the reader; a request passes through it on the way to Frankfurt.","The check on each request that decides whether you are signed in also runs at that nearest location.","Sign-in and accounts are handled by Clerk in the US.","Payments are handled by Stripe, worldwide. The mails we send are stored by Resend in the US.","Model calls for the built-in assistant go through Vercel's AI gateway to the model's provider; the place is not established."]},"subProviders":{"about":"Every company that handles data for Customer Magic. `scope` says whether it touches workspace data, accounts, or only usage measurement. `not established` means we could not verify it and say so.","asOf":"2026-10-14","version":"2026-10-14.1","count":9,"items":[{"id":"neon","name":"Neon","entity":"Databricks, Inc., US (parent of Neon, LLC)","purpose":"The database.","data":"Everything in your workspace: deals, contacts, notes, history, incoming findings, settings.","scope":"workspace-data","region":"Frankfurt, Germany (AWS eu-central-1). Whether Neon's own logs and control systems stay in that region is not established.","transferBasis":"EU standard contractual clauses (modules 2 and 3); EU–US Data Privacy Framework by the provider's own statement; the official list could not be read on 11 Oct 2026.","agreement":"Applies automatically with Neon's terms.","since":"2026-07-15","packages":["@neondatabase/serverless"],"links":{"agreement":"https://www.databricks.com/legal/dpa","subProviders":"https://www.databricks.com/legal/databricks-subprocessors"}},{"id":"vercel","name":"Vercel","entity":"Vercel Inc., US","purpose":"Runs the application and delivers its pages.","data":"Every request and response passes through it, with your IP address and browser details. It keeps server logs.","scope":"workspace-data","region":"Server code runs in Frankfurt (fra1). Pages, the sign-in check on each request and cached files are served from the network location nearest the reader, worldwide. If Frankfurt fails, Vercel reroutes to the next closest region. Where logs are kept is not established.","transferBasis":"EU standard contractual clauses (modules 1, 2 and 3); EU–US Data Privacy Framework by the provider's own statement; the official list could not be read on 11 Oct 2026.","agreement":"Applies automatically with Vercel's terms.","since":"2026-07-01","packages":["next"],"links":{"agreement":"https://vercel.com/legal/dpa","subProviders":"https://security.vercel.com"}},{"id":"ai-models","name":"Model providers behind Vercel's AI gateway","entity":"Anthropic, Amazon Web Services (Bedrock) or Google Cloud (Vertex), as sub-providers of Vercel","purpose":"Answers for the assistant built into the app: the daily brief, drafts and chat. Your own connected assistant is not part of this; that is your tool and your provider.","data":"The deals, notes and workspace profile the built-in assistant is asked about, for that one call.","scope":"workspace-data","region":"The gateway picks one of the three per call. The place is not established.","transferBasis":"Covered by Vercel's agreement and its agreements with each provider.","agreement":"Covered by Vercel. Every call asks the gateway to use only providers that do not train on prompts (since 11 Oct 2026). Vercel keeps no prompts or answers. Zero retention at the model provider is not requested; Anthropic states it deletes within 30 days.","since":"2026-07-01","packages":["ai","@ai-sdk/react"],"links":{"agreement":"https://vercel.com/docs/ai-gateway/security-and-compliance/disallow-prompt-training","subProviders":"https://vercel.com/ai-gateway/models/claude-sonnet-4.5"}},{"id":"clerk","name":"Clerk","entity":"Clerk, Inc., US","purpose":"Sign-up, sign-in, workspaces and members, API keys.","data":"Your team's names, email addresses, sign-in sessions, and which workspace each person belongs to. No deals or contacts.","scope":"account","region":"United States. Clerk offers no EU option.","transferBasis":"EU–US Data Privacy Framework by the provider's own statement; the official list could not be read on 11 Oct 2026; EU standard contractual clauses as the fallback.","agreement":"Applies automatically with Clerk's terms.","since":"2026-07-22","packages":["@clerk/nextjs","@clerk/ui","@clerk/mcp-tools","svix"],"links":{"agreement":"https://clerk.com/legal/dpa","subProviders":"https://clerk.com/legal/subprocessors"}},{"id":"stripe","name":"Stripe","entity":"Stripe Payments Europe, Limited","purpose":"Payments and invoices.","data":"Your company's name, billing address, VAT ID, the paying admin's email, and payment details. We never see a card number. Nothing during the trial: no Stripe customer exists until you pay.","scope":"account","region":"Worldwide, including the United States.","transferBasis":"EU–US Data Privacy Framework by the provider's own statement; the official list could not be read on 11 Oct 2026; EU standard contractual clauses as the fallback.","agreement":"Applies automatically with Stripe's terms. Stripe also uses payment data on its own responsibility to prevent fraud.","since":"2026-08-05","packages":["stripe","@stripe/stripe-js","@stripe/react-stripe-js"],"links":{"agreement":"https://stripe.com/legal/dpa","subProviders":"https://stripe.com/legal/service-providers"}},{"id":"resend","name":"Resend","entity":"Plus Five Five, Inc., US","purpose":"Sends our mails to your team: the morning mail, the Monday summary, trial and account notices.","data":"The recipient's email address and name, and the mail itself — which names the deals and next steps that are due.","scope":"workspace-data","region":"United States.","transferBasis":"EU standard contractual clauses (modules 1, 2 and 3); EU–US Data Privacy Framework by the provider's own statement; the official list could not be read on 11 Oct 2026.","agreement":"Applies automatically with Resend's terms.","since":"2026-08-26","packages":["resend","react-email"],"links":{"agreement":"https://resend.com/legal/dpa","subProviders":"https://resend.com/legal/subprocessors"}},{"id":"posthog","name":"PostHog (EU cloud)","entity":"PostHog, Inc., US","purpose":"Shows us how the product is used.","data":"Which screens and buttons a signed-in person uses, with their user and workspace id, and their device. No deal or contact content.","scope":"measurement","region":"Frankfurt, Germany.","transferBasis":"EU standard contractual clauses; EU–US Data Privacy Framework by the provider's own statement; the official list could not be read on 11 Oct 2026.","agreement":"PostHog's agreement has to be signed separately. Whether ours is signed is not established.","since":"2026-09-02","packages":["posthog-js","posthog-node"],"links":{"agreement":"https://posthog.com/dpa","subProviders":"https://posthog.com/subprocessors"}},{"id":"meta","name":"Meta pixel","entity":"not established","purpose":"Tells us which advertisement a sign-up came from.","data":"Page visits and sign-up events from your browser, only after you agree to marketing cookies. No workspace content.","scope":"measurement","region":"not established","transferBasis":"not established","agreement":"not established","since":"2026-09-02","packages":[],"links":{"agreement":null,"subProviders":null}},{"id":"iubenda","name":"iubenda","entity":"not established","purpose":"The cookie choice and the hosted privacy policy.","data":"Your cookie choice and the IP address it was made from.","scope":"measurement","region":"not established","transferBasis":"not established","agreement":"not established","since":"2026-09-02","packages":[],"links":{"agreement":null,"subProviders":null}}]},"retention":{"about":"How long each kind of data is kept and who controls it.","asOf":"2026-10-14","version":"2026-10-14.1","count":8,"items":[{"id":"board","what":"Deals, contacts, notes and history on the board","kept":"Until you delete them or the workspace is deleted.","control":"Edit or remove on the board; export any time."},{"id":"incoming-decided","what":"A closed finding in the incoming review (name, address, company, what happened, and the background assistant's reason, which can say what it found on public web pages)","kept":"The person's details are removed 7 days after it is closed. Only a fingerprint, the category and the outcome stay.","control":"Your admin sets 0 to 30 days in Settings → Trust."},{"id":"incoming-undecided","what":"A finding nobody decided","kept":"Closed and emptied after 30 days.","control":"Fixed."},{"id":"incoming-person","what":"One person in the incoming review","kept":"Removed at once, whole rows, when asked.","control":"The assistant tool `erase_person`."},{"id":"mail-links","what":"Links in mails we send (Done, Push a week, Unsubscribe)","kept":"Only a hash is stored. Action links expire after 7 days, unsubscribe links after a year; expired ones are deleted hourly.","control":"None needed."},{"id":"audit","what":"The record of admin actions (who, what, when)","kept":"Until the workspace is deleted.","control":"None."},{"id":"backups","what":"Database backups at Neon","kept":"How long a deleted row stays restorable from Neon's history is not established.","control":"None."},{"id":"invoices","what":"Invoices and what they are based on","kept":"For as long as German tax law requires. Held at Stripe.","control":"None."}]},"security":{"about":"The protections that are built today. No certificate is claimed.","asOf":"2026-10-14","version":"2026-10-14.1","count":9,"items":["Every row belongs to one workspace, and every query is limited to it in the shared code path, not by a filter per screen. This is what our tests check hardest.","Sign-in is handled by Clerk. We hold no passwords.","An assistant connects by a consent screen in your browser, or with a workspace API key that reads only unless an admin grants more.","Connections are encrypted in transit (TLS). The database is encrypted at rest by Neon.","Every route that touches your data checks who is asking and is rate-limited. Tests read the source to hold that.","Admin actions are written down with who and when.","Secrets live in the hosting environment, never in the code.","Internal errors are logged and never returned to a caller.","No assistant and no background worker contacts anyone or has the final word on an incoming finding. A signed-in person does."]},"breachNotice":{"how":"By mail to your workspace's notice address; if none is set, to every admin of the workspace.","when":"Without undue delay, and no later than 72 hours after we learn that your data was affected.","says":"What happened, which data, what we have done and what you should do. We send what we know and follow up."},"control":{"retention":"Days a closed incoming finding keeps the person's details: 0 to 30, default 7. Set by an admin in Settings → Trust, or by an assistant with `save_incoming_job`.","export":"Download every deal as CSV in Settings → Trust, or ask your assistant (`export_opportunities`). Works after a subscription ends.","erasePerson":"Ask your assistant to remove a person from the incoming review (`erase_person`). Deals on the board are yours and are removed on the board.","deleteWorkspace":"Write to contact@pirateskills.com from an admin's address. Not self-serve yet."},"agreement":{"version":"dpa-2026-10-11-draft","title":"Data-processing agreement","status":"draft","canBeAccepted":false,"note":"DRAFT — not in force. This text has not been reviewed by a lawyer and cannot be accepted yet. It is published so you can read what we intend to agree to.","text":"https://customermagic.ai/trust/agreement.md","whoAccepts":"A signed-in workspace admin, in the app. An assistant cannot accept; it gives the admin the link.","acceptAt":"https://customermagic.ai/settings/trust#agreement"},"notOffered":{"about":"Things buyers ask for that Customer Magic does not have. Listed so a missing item is an answer, not a gap.","asOf":"2026-10-14","version":"2026-10-14.1","count":9,"items":[{"id":"soc2","what":"SOC 2 report","note":"Not held."},{"id":"iso27001","what":"ISO 27001 certificate","note":"Not held."},{"id":"questionnaires","what":"Filled-in security questionnaires as a standing service","note":"Not offered. Write to us and one person answers."},{"id":"negotiated-agreement","what":"A negotiated or customer-paper agreement","note":"Not offered. One agreement for every customer."},{"id":"audit-reports","what":"Audit or penetration-test reports","note":"None exist."},{"id":"region-choice","what":"Choosing a storage region per workspace","note":"Not offered. Everyone is in Frankfurt."},{"id":"self-serve-delete","what":"Deleting a workspace yourself","note":"We have no delete button of our own. On request, within 30 days."},{"id":"revoke-assistant","what":"Withdrawing an assistant's access yourself","note":"Not built for browser-consent connections; API keys can be revoked in Settings. Write to us."},{"id":"dpo","what":"A named data protection officer","note":"None appointed."}]},"changes":{"about":"Dated change log, newest first. A new sub-provider appears here 30 days before it starts.","asOf":"2026-10-14","version":"2026-10-14.1","count":4,"items":[{"id":"2026-10-14.1","date":"2026-10-14","effectiveOn":"2026-10-14","kind":"other","summary":"The background assistant in the incoming review now looks up, on public web pages, people it cannot place who came more than once, and writes what it found as a guess in its reason. Your own assistant does the lookup; we receive only the reason, which is emptied with the person's details. Write \"no web lookups\" in the never-list to switch it off."},{"id":"2026-10-11.3","date":"2026-10-11","effectiveOn":"2026-10-11","kind":"published","summary":"This page, its change log and the draft data-processing agreement were published. Model calls now ask the gateway to use only providers that do not train on prompts."},{"id":"2026-10-11.2","date":"2026-10-11","effectiveOn":"2026-10-11","kind":"processing-moved","summary":"The application's server code moved from Washington, D.C. (iad1) to Frankfurt (fra1), next to the database.","subProviderId":"vercel"},{"id":"2026-10-11.1","date":"2026-10-11","effectiveOn":"2026-10-11","kind":"storage-moved","summary":"The database moved from the US (AWS us-east-1) to Frankfurt (AWS eu-central-1). Until that day the security page said \"EU\" while the data was in the US.","subProviderId":"neon"}]}}