Developer docs · Reference
Data retention & export
A plain-English breakdown of what data SalesThumb stores, how long we keep it, why, and how to get it out. This page covers the technical details; see /privacy for the legal privacy policy.
Retention by data category
Periods below apply to data stored in the SalesThumb platform. Third-party processors (Rainforest for payments, R2 for media) have their own retention policies which may differ.
| Data category |
|---|
Appointments, quotes & invoices Appointments, quotes, invoices, line items, totals Kept for the life of the account (no automatic purge) |
Quote/invoice signatures Customer approval & completion signatures, service/liability waiver signatures Auto-redacted 5 years after the later of job completion and the end of any warranty on that job (kept while a lifetime warranty is in place) |
Quote/invoice notes Quote/invoice notes, internal notes, quote decline reasons Auto-redacted 540 days after creation |
Payment records Payment transactions, refunds, processor charge IDs Kept for the life of the account (no automatic purge) |
Customer & vehicle records Customer profiles, vehicle make/model/VIN, contact info Kept for the life of the account (no automatic purge) |
Tint compliance waivers Signer name, signature, IP address at sign-time Signer identity auto-redacted 10 years after signing, or later under the quote/invoice signature rule when that is longer |
Payment-agreement acceptances Who accepted the Payment Processing Agreement, which version, when, from what IP/browser Kept through a deletion request; name/email/IP/browser auto-redacted 7 years after acceptance |
Media & photos Job photos captured in the app No fixed window yet |
Audit logs Who changed what, login events, API key usage, permission changes Kept indefinitely today (no automatic purge) |
API keys Shop API keys, restricted-scope keys Disabled immediately on revoke; the revoked key record (name, prefix and a hash of the secret, never the secret itself) is kept for audit and hidden from your key list |
Webhook delivery logs Request payload and response status per delivery Your shop's outgoing webhook deliveries: kept indefinitely today (no automatic purge). Incoming provider webhooks (texts, calls, email and payment events we receive): payload content cleared 30 days after receipt; the delivery record stays |
Session & auth tokens User session tokens, with the signed-in device's IP address and browser user-agent Expire about 7 days after last use; deleted immediately on sign-out; revoked on admin action. 30 days after a session expires its IP address and browser are removed; of those long-expired sessions, only each person's most recent one is kept and the rest are deleted |
Failed sign-in attempts Email address tried, IP address, browser user-agent, failure reason Deleted 90 days after the attempt |
Website, lead-form & sign-in-code network data IP address, browser user-agent and referrer captured with a lead or contact form, and the IP address on a customer sign-in code Cleared (or the sign-in code deleted) 30 days after capture |
Brand-website requests no location took Name, phone, email, message and ZIP code sent through an HQ organization's brand-website form when no location serves the area and HQ hasn't assigned it yet Contact details cleared 90 days after the request if HQ never assigns it (sooner on assignment or a deletion request) |
Signature, consent & Terms evidence IP address and browser recorded when someone signs a quote, invoice, waiver or inspection, consents to texts, or accepts our Terms Quote/invoice signatures: cleared 5 years after the later of job completion and the end of any warranty on that job (kept while a lifetime warranty is in place). Tint-law waivers: the same, but no sooner than 10 years after signing. Inspection sign-offs, text consents and Terms acceptances: no automatic deletion today |
Admin session-end log entries The IP address of a session an admin ended, recorded in that audit-log entry Kept indefinitely today (no automatic purge), like other audit logs |
Error reports Technical error reports from failed requests, which can include a user ID and shop ID (failure text is redacted) Deleted 90 days after the error |
Franchise disclosure delivery tracking IP address and browser when a franchise disclosure document was first opened, first downloaded and its receipt acknowledged No automatic deletion today; cleared on a deletion request |
Shop sign-up attribution Campaign tags and the referring page (site and path only) when a shop signed up Kept indefinitely today (no automatic purge) |
Data portability & export
You own your data. SalesThumb provides two export paths:
Self-serve CSV export
From Settings → Data, export CSV files for:
- Customers — name, email, phone, address, company, tags, marketing opt-in, spend totals, created date
- Vehicles — year, make, model, VIN, license plate, linked customer ID
- Appointments — start/end time, status, service, bay/installer, customer, vehicle, linked quote/invoice
- Quotes — number, status, subtotal, tax, discount, total, deposit, sent/approved/declined dates
- Invoices — number, status, subtotal, tax, discount, total, deposit applied, balance, due and paid dates (line items aren't included)
- Payments — amount, tip, method, status, processed date, linked invoice
- Job photos — one row per photo with linked job, customer and vehicle IDs, file name/type, dates, and a download link that expires after 24 hours (a list of links, not the image files; on-demand only, not scheduled)
Downloads are generated on demand as CSV or JSON — no waiting, no email delivery. A separate scheduled-export feature (also in Settings → Data) can run these on a recurring basis if you need an ongoing feed.
Full account data export
For a complete bundle covering your account and staff profile beyond what the self-serve export above covers, use the data request form (choose "Send me a copy of my data") with the email address on your account. You can also email hello@salesthumb.com from the account owner address instead — include your shop name and the export scope you need.
Filing the request is self-serve either way; fulfilling it is still a manual step on our side today, so we don't promise a fixed number of days — the form aims for about 30.
Account closure
Canceling your subscription (email hello@salesthumb.com or use the contact page; self-serve cancel arrives with self-serve billing) stops billing — it does not automatically delete any data. Your records stay in place, unchanged, until you either reactivate or ask us to delete them (see below).
If you want your data deleted rather than just the subscription canceled, that's a separate, explicit request — see Deletion requests below. Export anything you need from Settings → Data before requesting deletion; once processed, it can't be undone.
Deletion requests (GDPR / CCPA)
To request deletion of your account and its associated personal data, use the data deletion form (choose "Delete my personal data") with the email address on your account. You can also email hello@salesthumb.com from the account owner address instead, with the subject line "Deletion request — [shop name]".
Either way, requests are reviewed and processed by our team — this is a manual, admin-mediated step today rather than a fully automated flow, so we don't promise a fixed number of days (the form aims for about 30). Processing anonymizes personal information (names, contact details, signatures) across customer, staff, and related records. Underlying financial/transaction records (invoice and payment totals, line items) are kept as your business's financial history rather than deleted outright, consistent with standard record-keeping practice — only the personal identifiers on them are removed.
One thing we keep: your Payment Processing Agreement acceptance
Our payment processor requires us to hold documented proof that your shop agreed to the Payment Processing Agreement. That acceptance record — the agreement name, the version you accepted, the date, and the name and email of the person who accepted — is not erased by a deletion request. We rely on GDPR Art. 17(3)(b) (legal obligation) and Art. 17(3)(e) (legal claims) for this, because erasing it would destroy the evidence that the agreement was ever made.
We keep it narrowly, not indefinitely:
- Processing a deletion request does clear the IP address and browser user-agent captured at acceptance — those aren't needed to prove consent.
- The accepting person's name and email are kept, because they are the proof of who agreed — and they are automatically redacted 7 years after the acceptance date. That 7-year figure is the standard financial-record retention window; no processor contract specifies a different one.
- The agreement name, version and acceptance timestamp are kept indefinitely. On their own they identify no one.
- Request a full account data export and the acceptance rows we hold about you are included in that bundle, along with this same explanation — so nothing is retained that you can't see. (The self-serve Settings → Data export covers customers, vehicles, quotes, appointments, invoices, payments and job photo links only; acceptance records come through the full export.)
For questions about data residency, sub-processors, or DPA execution, contact hello@salesthumb.com.
Notes for developers
If you are building an integration on top of SalesThumb, keep these retention facts in mind:
- Webhook delivery logs are available via the dashboard, which shows the 50 most recent deliveries per subscription (older ones are kept but not shown). Design your endpoint to be idempotent and log payloads on your side if you need longer replay history.
- API keys stop working immediately on revoke — no grace period. Revoked keys return 401 instantly.
- Deleted records return 404 from the API once removed. There is no soft-delete concept exposed to the API.
- Self-serve exports (
/api/export/[entity]) are capped at 50,000 rows per request and return a 413 above that — there is no pagination cursor for this endpoint today. For larger shops, request a full export instead (see above).
Questions about your data?
Email hello@salesthumb.com for export requests, deletion requests, or DPA inquiries.
More developer docs