Privacy Policy — DRAFT
Draft for lawyer review. Not legal advice. Replace everything in [brackets]. Effective date: [DATE]. Last synced with the code: 2026-10-25.
Review markers. Every passage added or changed on 2026-10-25 carries a
[counsel: …]note saying what changed and what to check. Remove each note once it’s reviewed. 2026-10-26 (DRAFT — needs lawyer review): Sendblue added as a messaging processor in §3 and §4, marked inline. The 2026-10-25 update covers every connected tool and the exact permissions each one requests (§1a), the AI data flow (§2), the service-provider list (§3), retention of synced copies and deletion on disconnect (§4), and Google’s Limited Use disclosure (§5a).
This policy explains how [COMPANY LEGAL NAME] (“we”) collects, uses, and shares information when you use Tack (the “Service”), including our website asktack.com, text conversations over iMessage, and connections to your business tools. The Service is available in English and Spanish. [WhatsApp support is planned; this policy will be updated before it launches.]
1. Information we collect
| Category | Examples | Source |
|---|---|---|
| Account information | Name, email, date of birth (to confirm you’re 18+), time zone, preferred language (English or Spanish), role, organization | You (profile form), or detected from your messages (language) |
| Contact identifiers | Phone number you enter to get a sign-in code; phone number or Apple ID email you use for iMessage | You |
| Sign-in data | One-time sign-in codes (stored only as a short-lived hash), session cookies, CAPTCHA check results | You / Cloudflare Turnstile |
| Messages and files | The texts, photos, documents, and reactions you send us, and our replies | You |
| Connected Service data | Records the Service reads, creates, or changes in the tools you connect (“Connected Services”), such as customers, contacts, jobs, projects, invoices, deals, calendar events, documents, and meeting notes. Section 1a lists every tool and what we access in it. For some tools we keep a copy of names and basic contact details so we can find the right record quickly (“synced records”). | The Connected Services, with your authorization |
| Activity history | A record of each action the Service took for you: what you asked for, what was sent to the tool (for example, the recipient, subject, and text of an email you approved, or the amount on an invoice), the result, and when | Created by the Service |
| Credentials | OAuth access and refresh tokens, and API keys you paste in, for Connected Services. Encrypted with a per-organization key and never shown to AI models. | Connected Services / you |
| Usage and device data | Pages visited, approximate location from IP, browser type, actions performed, task counts | Automatically |
| Marketing attribution | Ad campaign and click identifiers (such as UTM tags, gclid, fbclid) from the link that brought you to our site | Automatically |
| Payment information | Plan, billing status. Card details are handled by Stripe; we don’t store them. | You / Stripe |
| Consent records | Which consent text you agreed to (version and fingerprint), when, from which IP and browser; STOP/START history | Automatically |
[counsel: review — updated 2026-10-25. “Connected Service data” now covers every tool in §1a instead of only Jobber and QuickBooks; “Activity history” and pasted API keys are new rows; “voice notes” was removed from “Messages and files” because the Service doesn’t process them yet.]
We don’t ask for your mailing address. We don’t knowingly collect information from anyone under 18.
1a. Connected Services: what we access in each tool
You choose which tools to connect. We ask each tool only for the permissions listed here, and we use them only to carry out what you ask by text and the features you turn on (such as a morning summary). Writes that send something to another person, involve money, or delete a record always wait for you to reply YES to a preview.
Some connections are company connections: an owner or admin connects the tool once, and team members they allow can use it with the role the owner sets. Others are personal: each person connects their own account, and only that person’s requests use it.
| Tool | Connection | Permissions we request | What we read | What we create or change | Synced copy we keep | When you disconnect |
|---|---|---|---|---|---|---|
| Jobber | Company | Read and write clients, jobs, scheduled items (visits), quotes, and invoices; read users (set in Jobber’s app settings) | Clients, jobs, visits, quotes, invoices, team members | Clients, jobs, notes, completed visits, draft quotes, invoices from jobs. With your YES, emails a quote or invoice from your own Gmail or Outlook. | Client names, emails, phone numbers, and addresses; team-member names, emails, and phone numbers | We call Jobber’s disconnect API, then delete the credentials and the synced copy |
| QuickBooks Online (Intuit) | Company | com.intuit.quickbooks.accounting |
Customers, items, vendors, accounts, invoices, estimates, open balances | Customers, items, draft invoices and estimates, converting estimates; with your YES: sending an invoice or estimate through QuickBooks, recording a payment, entering a bill or expense, voiding an invoice | Customer names, company names, emails, and phone numbers; item names, prices, and descriptions; vendor names; expense, bank, and credit-card account names | We revoke our access with Intuit, then delete the credentials and the synced copy |
| CompanyCam | Company | companies:read, users:read, projects:read/write/destroy, photos:read/write/destroy, comments:read/write, checklists:read/write, labels:read/write, tags:write, project_tasks:write/destroy |
Projects, photos, comments, checklists, users | Projects, photos you text us, comments, checklists, labels and tags, to-dos. We delete only items the Service just created, when you text UNDO. | Project names and addresses, and the project’s primary contact name, email, and phone | We revoke our access with CompanyCam, then delete the credentials and the synced copy |
| HubSpot | Personal | oauth, crm.objects.contacts.read/write, crm.objects.companies.read/write, crm.objects.deals.read/write, crm.objects.owners.read |
Contacts, companies, deals, tasks, notes, logged calls and meetings, record owners | Contacts, companies, deals and deal stages, tasks, notes, logged calls, meetings, and visits | Contact names, emails, phone numbers, companies, and job titles; company names, domains, phone numbers, and cities; owner names and emails | We revoke your HubSpot authorization, then delete the credentials and the synced copy |
| Pipedrive | Company | base, deals:full, contacts:full, activities:full, users:read, search:read (set in Pipedrive’s app settings) |
People, organizations, deals, activities, users | People, organizations, deals and stages, activities, notes, deal owner | Person names, emails, phone numbers, and organizations; organization names and addresses; user names and emails | We revoke our access (which uninstalls the app), then delete the credentials and the synced copy |
| Salesforce | Personal | api, refresh_token |
Accounts, contacts, leads, opportunities, tasks, logged activities, notes, users. Your own Salesforce permissions apply. | Accounts, contacts, leads, opportunities and stages, tasks, logged calls, meetings, and visits, notes | Account, contact, open-lead, and active-user names and basic contact details | We revoke our access with Salesforce, then delete the credentials and the synced copy |
| Follow Up Boss | Company | An API key you paste in, or Follow Up Boss’s own sign-in (it has no permission list) | People, tasks, appointments, notes, recent activity | Leads, contact details, notes, tags, stages, agent assignment, tasks, appointments, logged calls | People’s names and basic contact details | We delete the stored key. Delete the key in Follow Up Boss (Admin → API) to end access on its side. |
| DocuSign | Company | signature, extended |
Templates and their signer roles, envelope status | With your YES: sending an envelope from a template, resending, voiding | Template names and signer roles | We delete the credentials. DocuSign has no API to revoke access, so remove the app in DocuSign (Manage Profile → Connected Apps) to end it on DocuSign’s side. |
| Google: Gmail, Google Calendar, Google Drive | Personal | openid, email, gmail.send, calendar.events, drive.file |
Gmail: nothing; we can’t read, search, or delete your email. Calendar: events on your calendars, to answer “what’s on my calendar” and find free time. Drive: only files and folders the Service created or that you opened with it. | Gmail: sends an email you approved, from your address. Calendar: creates, moves, and cancels events and sends invites. Drive: saves photos and PDFs you text us into an “Tack” folder, makes folders, renames, moves, and (with your YES) shares them. | None | We revoke our access with Google, then delete the credentials |
| Microsoft: Outlook mail and calendar | Personal | openid, profile, email, offline_access, User.Read, Mail.Send, Calendars.ReadWrite |
Your sign-in name and email; your calendar events. We can’t read your mailbox. | Sends an email you approved, from your address; creates, moves, and cancels calendar events and sends invites | None | We delete the credentials. Microsoft has no API to revoke access, so remove the app at myapps.microsoft.com (work accounts) or account.live.com/consent/Manage (personal accounts). |
| Granola | Personal | openid, email, offline_access |
Your meeting notes, summaries, action items, and (on Granola plans that include them) transcripts | Nothing; Granola access is read-only | None | We sign out of Granola for your account, which revokes our access, then delete the credentials |
| Notion | Company | Read content, insert content, update content (set in Notion’s integration settings). You pick which pages to share on Notion’s own consent screen. | Only the pages and databases you shared with the Service | Pages, database entries, notes added to a page | None | We revoke our access with Notion, then delete the credentials |
| Procore | Company | No separate permission list; your own Procore permissions apply in each project | Companies, active projects, the project directory and vendors (when your role can see them), RFIs, schedule | Daily log notes, manpower and delay entries, photos, punch items, observations | Active project names, numbers, and addresses; company user names, emails, and job titles; vendor names and emails | We revoke our access with Procore, then delete the credentials and the synced copy |
Records the Service already created in a tool stay in that tool after you disconnect; delete them there if you want them gone.
[counsel: review — new section 2026-10-25. Built from the code’s permission registry (packages/connections/src/providers.ts) and each tool’s action list. Check: (1) that listing scopes by their technical names is acceptable, or whether plain-language labels alone are better; (2) the company/personal model and whether a team member’s use of an owner’s connection needs its own disclosure; (3) DocuSign, Microsoft, and Follow Up Boss can’t be revoked from our side, and the table says so; (4) Jobber is paused and Google Drive is not yet available to users, but both are listed so the policy doesn’t need to change at launch.]
2. How we use information
- To provide the Service: sign you in, understand your requests, act in your Connected Services, and send replies, confirmations, and summaries you’ve turned on, in your preferred language.
- To secure accounts and prevent fraud and abuse (for example, CAPTCHA and limits on how many sign-in codes can be sent).
- To bill you and manage your subscription.
- To support you.
- To measure and improve the Service. For example, we look at which requests were handled correctly, how fast, and at what cost. We use de-identified or aggregated data where possible. We don’t use Connected Service data, including Google user data, to build or improve features other than the ones you use, and we don’t use it for advertising.
- To measure our marketing. For example, we tell ad platforms when someone who clicked an ad signs up, using hashed identifiers. [Confirm whether this is enabled at launch.]
- To comply with law and enforce our Terms.
AI processing. The Service uses AI. To understand and carry out a request, we send Anthropic’s Claude models, through Anthropic’s commercial API:
- your message and the recent conversation;
- the records from your Connected Services that the request needs. For example: the customer and item names and amounts for an invoice; the event titles and times on your calendar; the text of a Notion page you asked about; or the Granola meeting notes you asked to summarize;
- facts you asked the Service to remember.
AI models never receive your passwords, OAuth tokens, or API keys. Our servers, not the AI, make every call to your tools, and our code, not the AI, enforces the YES confirmations described in §1a.
No training. We don’t use your content or Connected Service data, including Google user data, to train, create, or improve any AI or machine-learning model, ours or anyone else’s. Anthropic’s Commercial Terms don’t allow it to train models on content we send through its API. [confirm: Anthropic’s data retention period for API inputs and outputs, and whether we sign Anthropic’s data processing addendum; we don’t have a zero-data-retention agreement today.]
[counsel: review — updated 2026-10-25. Now lists what reaches the AI model, says tokens never do, and states “no training” for every source, including Google data (required by Google’s Workspace policy, §5a). Open: a second decision model (TypeSafe “Jev”, PLAN §6b) may be A/B tested in the pilot; if it is turned on, name it here and in §3 first, and confirm its training and retention terms.]
3. How we share information
We don’t sell your personal information, and we don’t share it for cross-context behavioral advertising except as described in “Marketing measurement” below. We share information with:
| Recipient | Purpose |
|---|---|
| AI model provider: Anthropic (Claude) | Understanding requests and deciding actions (§2) |
| Messaging: Apple (iMessage). We send and receive iMessages through a Mac computer we operate, signed in to our business Apple ID. | Delivering messages. Apple’s privacy policy applies to iMessage. |
| Messaging: Sendblue [DRAFT — needs lawyer review] | Sending and receiving our iMessages, and SMS when a phone can’t receive iMessage, through a phone number Sendblue operates for us. Sendblue processes the content of our conversations with you: the texts, photos, files, and reactions you send and our replies, your phone number or Apple ID email, delivery and read status, and the picture cards we send (for example an invoice preview with a customer name and amount), which we upload to Sendblue’s file storage to attach them. [Retention period of messages and uploaded files at Sendblue, per the DPA.] |
[DRAFT — needs lawyer review. counsel: added 2026-10-26 for the proposed move from our own Mac to Sendblue’s hosted iMessage API (PLAN §3a-2). Keep only the messaging row(s) that match the setup in use at launch: if Sendblue replaces the Mac entirely, delete the “Mac computer we operate” wording in the Apple row and the “tunnel to our messaging computer” purpose in the Cloudflare row. Fill in Sendblue’s retention once their DPA is signed. Questions in LAWYER-QUESTIONS.md §13.] | Hosting: Railway | Running our servers and database [confirm: US region] | | Amazon Web Services (KMS) | Holding the master key that protects the per-organization encryption keys. AWS never receives your data or credentials, only encrypted keys to unwrap. | | Cloudflare | Secure network tunnel to our messaging computer; Turnstile CAPTCHA on sign-in; encrypted backup storage (R2) [confirm] | | Payments: Stripe | Billing | | Analytics and monitoring (if enabled): PostHog, Sentry, Langfuse | Product analytics, error tracking, AI quality monitoring. Message text, phone numbers, emails, and credentials are removed or replaced with pseudonymous IDs before anything is sent to them, and AI prompts and replies aren’t sent to Langfuse in production. | | Internal alerts: ntfy | Push alerts to our team when a system check fails. These alerts contain no user data. | | Connected Services you choose (§1a) | Performing your requests (for example, creating an invoice in QuickBooks or sending an email from your Gmail) | | Marketing measurement (if enabled): Meta, Google | Reporting sign-up conversions using hashed identifiers and click IDs. Never includes Connected Service data or Google user data. | | Legal and safety | When required by law or to protect rights and safety | | Business transfers | In a merger, acquisition, or sale of assets, subject to this policy |
[If adopted later, add: other AI providers; E2B (sandboxes); Browserbase (browser sessions); Cal.com (scheduling). Nango is used only for Follow Up Boss OAuth and for older connections; confirm whether it’s self-hosted (then it isn’t a recipient) or Nango Cloud.]
Connected Service data is used only to provide the features you request. It isn’t used for advertising, it isn’t sold, and it isn’t shared with third parties except the service providers above acting on our behalf under written agreements. We don’t process Connected Service data on behalf of the tool’s provider (for example, Intuit); we process it on your behalf. [counsel: review — updated 2026-10-25: recipient list now matches the code (AWS KMS added, Nango narrowed, redaction described); the “not on Intuit’s behalf” sentence is required by Intuit Developer Terms §12.2; confirm that each provider’s terms count as the “written agreements” this paragraph promises (Intuit Developer Terms §12.2 asks for terms “at least as restrictive”).]
4. Retention
- Sign-in codes: expire after 10 minutes and are deleted on use.
- Account and profile: while your account is active, then deleted within [30] days of account deletion. Today you request deletion from the dashboard (Settings → Delete account) or by emailing privacy@asktack.com, and we complete it by hand.
- Messages and activity history: [24 months] by default, or until you delete your account. Saved “memory” facts can be deleted anytime from the dashboard, or by texting “forget that.”
- Connected Services, when you disconnect: when you disconnect a tool (by texting, for example, “disconnect QuickBooks,” from the dashboard, or from the tool’s own settings), we tell the provider to revoke our access where it offers a way to (§1a says which do), and we immediately delete the stored credentials and the synced records copied from that tool.
- Connected Services, when access ends on the tool’s side: if you remove our access inside the tool, or the tool stops accepting our credentials, we notice the next time we try to refresh them (we check at least every [20 hours]). Jobber and QuickBooks can also notify us directly. If access isn’t restored within 7 days, we delete the stored credentials and synced records automatically.
- Google user data: see §5a.
- Billing, consent, and audit records: kept as long as needed for legal, tax, and security purposes (generally up to [7] years). Audit records say which tool was connected or disconnected and when; they don’t contain tool data or credentials.
- Backups: encrypted, kept [30] days, then deleted. Data you delete is removed from backups when they expire.
- Messaging provider copies: Sendblue keeps copies of messages and uploaded files (such as picture cards) for [PERIOD per Sendblue’s DPA]. Deleting your account [does / does not] delete them at Sendblue. [DRAFT — needs lawyer review; counsel: added 2026-10-26, see §3 and LAWYER-QUESTIONS.md §13.]
[counsel: review — updated 2026-10-25. Facts from the code: disconnect deletes credentials and synced records in one step; a connection whose refresh fails is deleted after 7 days (revokeDeadConnections). Not yet true, and worded to match: account deletion is a manual request (the dashboard button records the request; there’s no self-serve deletion or export yet), and no job enforces the [24-month] message period. Decide whether to keep [24 months] as a promise before a retention job exists. Thread summaries are no longer described as deletable from the dashboard because the dashboard only deletes memory facts.]
5. Security
- Encryption in transit (TLS) and at rest.
- Connected Service credentials are encrypted with AES-256-GCM using a separate data key for each organization. Each data key is itself encrypted (“wrapped”) by a master key held in Amazon Web Services Key Management Service (KMS), which never leaves KMS; the production service refuses to start without it. Unwrapped keys exist only briefly in server memory.
- Credentials are decrypted only for the single call that needs them and are never written to logs, error reports, or AI prompts.
- Sign-in codes are stored only as hashes, are single use, and are limited in number and attempts.
- Access controls (owners decide which team members can use company connections, and what they may do) and audit logs.
No system is perfectly secure. If a breach affects your personal information, we’ll notify you and any required authorities as required by law [counsel: confirm Texas timing, see LAWYER-QUESTIONS.md].
[counsel: review — updated 2026-10-25: names AWS KMS (the code requires it in production) and the “never logged or sent to AI” rule.]
5a. Google user data
This section applies if you connect a Google account (Gmail, Google Calendar, or Google Drive).
Limited Use. Tack’s use of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements. The use of information received from Google Workspace scopes will adhere to the Google User Data Policy, including the Limited Use requirements.
What we access, and why.
gmail.sendlets us send an email you approved, from your Gmail address. We don’t request, and can’t use, any permission to read, search, change, or delete your email.calendar.eventslets us read the events on your calendars (to answer questions like “what’s on my calendar tomorrow” and to find free time) and create, move, or cancel events and send invites when you ask.drive.filelets us see and change only the files and folders Tack created in your Drive or that you opened with Tack. We can’t see the rest of your Drive.openidandemailtell us which Google account you connected, so we can show “sending from you@yourbusiness.com” and update the same connection when you reconnect.
How we use it. We use Google user data only to provide and improve the features you use in Tack: sending the emails you approve, managing your calendar events, and filing and sharing your Drive files. We don’t use it for advertising, including retargeting, personalized, or interest-based ads, and we don’t sell it.
How we share it. We don’t transfer Google user data to anyone except: (a) as needed to provide or improve those features (our AI provider, Anthropic, processes the event details and file names a request needs, and our hosting provider stores your activity history); (b) for security purposes, such as investigating abuse; (c) to comply with applicable law; or (d) as part of a merger, acquisition, or sale of assets of [COMPANY LEGAL NAME], only after getting your explicit prior consent. Transfers for (a) happen only because you asked for that feature, which is your consent to it.
Who can read it. No person at [COMPANY LEGAL NAME] reads your Google user data unless you give us permission for specific messages or files (for example, for support), it’s needed for security (such as investigating abuse), it’s needed to comply with law, or it has been aggregated and anonymized and is used for internal operations as the law allows.
AI and machine learning. Google Workspace APIs are not used to develop, improve, or train non-personalized AI and/or ML models. We don’t use Google user data, or anything derived from it, to create, train, or improve any AI or machine-learning model, and we don’t build databases or permanent copies of it beyond the activity history described below. Our AI provider processes it only to carry out your request and doesn’t train on it (§2).
What we keep. We store your Google account ID and email address, encrypted OAuth tokens, and, in your activity history, a record of each action: for an email, the recipient, subject, text, and time; for a calendar change, the event details; for Drive, the file and folder names and links. We don’t keep a copy of your calendar or Drive. Activity history is kept as described in §4.
Deleting it. Text “disconnect Google” (or “disconnect Gmail”) or use the dashboard: we revoke our access with Google and immediately delete the stored tokens. You can also remove access at https://myaccount.google.com/connections. To delete your activity history too, delete your account (§4) or email privacy@asktack.com. Step-by-step help: Gmail: disconnecting and revoking access.
[counsel: review — new section 2026-10-25. Google requires this disclosure for brand and sensitive-scope verification. Exact required wording, checked 2026-10-25: the first “Limited Use” sentence is Google’s example statement, word for word, from its OAuth verification FAQ (https://support.google.com/cloud/answer/13463817), which applies the User Data Policy (https://developers.google.com/terms/api-services-user-data-policy, “Limited Use”, last updated 2024-02-15). The second is the statement the Google Workspace API User Data and Developer Policy requires (https://developers.google.com/workspace/workspace-api-user-data-developer-policy, updated 2026-09-03). The sentence that opens “AI and machine learning” is the affirmation Google’s privacy-policy guide requires for AI/ML use cases (https://support.google.com/cloud/answer/13806988). The use, transfer, human-reading, and advertising paragraphs restate the four Limited Use conditions; marketplace/google-oauth-verification.md §4 quotes them in full. Check: (1) whether storing email text you dictated in activity history is a “permanent copy” or needs further disclosure (LAWYER-QUESTIONS §10); (2) that treating a user’s request as consent to transfer to Anthropic meets “only with the user’s consent”; (3) the Drive folder name once the brand is final.]
6. Your choices and rights
- Access, correct, or delete your information by emailing privacy@asktack.com. You can see your profile, connections, and activity in the dashboard, delete saved memory facts there, and request account deletion there. [We’ll add a self-serve download; until then, ask us for a copy.]
- Disconnect a tool at any time by text, from the dashboard, or in the tool’s own settings (§1a, §4).
- Messaging: reply STOP (or ALTO, PARAR, DETENER, BAJA) to stop messages on a channel.
- Language: text “en español” or “English please” anytime to switch.
- Marketing measurement: [describe opt-out; honor Global Privacy Control signals].
- Texas and other US state rights. Depending on where you live, you may have the right to access, correct, delete, or get a copy of your personal data, and to opt out of targeted advertising, sale, or profiling. This includes residents of Texas (Texas Data Privacy and Security Act), California (CCPA/CPRA), and other states. To exercise these rights, email privacy@asktack.com. We’ll verify your request through your registered phone or email and respond within the time the law requires. You may appeal a denial by replying to our response. We won’t discriminate against you for exercising your rights.
[counsel: review — updated 2026-10-25: the earlier draft promised “download” and dashboard deletion, which don’t exist yet; this wording matches the product today.]
7. International users
The Service is intended for users in the United States. Information is processed in the US.
8. Language
This policy is also offered in Spanish. If the versions differ, [the English version controls — counsel to confirm].
9. Changes
We’ll post updates here and notify you by text or email of material changes before they take effect. If we change how we use data from a Connected Service, we’ll ask for your consent where that tool’s rules or the law require it.
[counsel: review — the last sentence is new on 2026-10-25 (Google’s User Data Policy requires fresh consent before a new use of Google data; Intuit Developer Terms §8.3 requires notice to Intuit of data-handling changes).]
10. Contact
[COMPANY LEGAL NAME] · [MAILING ADDRESS] · privacy@asktack.com