← Knack

Subprocessors

Last updated 27 October 2026

These are the third-party service providers Knack relies on to run the service, what each processes, and where each is located.

Active subprocessors

Knack uses the third-party providers below to operate the service. Each processes personal information only to provide its service to us, under our instructions and the provider's terms. We put data-processing agreements in place with these providers as we bring them on. This list may change; we will update it here.

ProviderPurposeData processedLocation
SupabasePrimary application databaseAll account data — contractor and customer names, contacts, addresses, quotes, transcripts, acceptance recordsAustralia (Sydney)
Fly.ioApplication hostingAll data in transit through the app; acceptance IP addressesAustralia (Sydney)
VercelWeb application hosting; cookieless visit counts for the public website and sign-up pageAll data in transit through the web app, and through our iPhone and Android apps, which render their workspace from it; for public-site visits, the page, referring site, campaign tags, country, browser, operating system and device typeAustralia (Sydney)
Cloudflare R2File storageVoice recordings, site photos, plan documents, generated PDFs, forwarded supplier invoicesGlobal (Cloudflare network)
ResendEmail delivery and inbound emailOutbound: customer name and email; email content; PDF attachments with acceptance details; replies a contractor sends to an enquirer from Knack, with any files attached. Inbound: mail sent to a contractor's private capture addresses — forwarded work enquiries and supplier invoices — including the sender's name and email, subject, message content, and attachmentsUnited States
TwilioText messages (SMS) — only for accounts with texting turned onOutbound: the customer's mobile number and the text a contractor types to them from a job. Inbound: the sender's mobile number and their replyUnited States
GroqSpeech-to-textVoice audio, which may contain spoken customer names, phones, and addresses; plus a short recognition-context list of the account's brand/product terms and (for job captures) customer namesUnited States
OpenAIAI drafting and extractionTranscript text; customer name, phone, email, and address extracted from voice notes; the content of supplier invoices a contractor forwards to us; site photos a contractor chooses to have read into draft scope suggestions, re-encoded with location and camera data removed; a region of a drawing a contractor boxes and asks Knack to read as a legend — an image of that region only, sent only when the drawing is a scan or photo with no text to read, never the file or anything outside the box; text a contractor pastes into a job's checklist and asks Knack to read into draft checklist items (usually an email from their customer or builder, up to 20,000 characters, not kept); questions a contractor types into the in-app help assistant, with the page they are on, their plan, role and trade, and a summary of their workspace's setup (which setup steps are done, default rates where their role can see costs, and starter-price counts), and, when asked from a quote, the send checks stopping that quote (named checks and counts only), whether its last email was delivered, and the Xero and price-list import status — no customer details, quote wording or prices; a short excerpt of a forwarded work enquiry when automatic sorting cannot decide which queue section it belongs in; and the subject and message text of a forwarded work enquiry when the contractor chooses to start a job from itUnited States
ClerkAuthenticationContractor name, email, and login/session dataUnited States
StripeSubscription billing, and — for accounts using deposits — deposit payments made by a customer to the contractor’s own Stripe accountSubscription billing: contractor billing name and email. Deposits: the customer pays Stripe directly — their card details and whatever Stripe’s payment form collects never reach Knack. We send only the amount, currency and reference numbers, and keep only a payment reference, the amount and the dateUnited States
GeoapifyAddress lookup and geocodingAddress text typed or stored for a customer or siteEurope (Germany)
AddressFinderAddress lookup (New Zealand fallback)Address textNew Zealand
Google (Solar API)Roof geometry for solar design (solar-enabled accounts only)The site's latitude and longitude — a customer's property locationUnited States

Alternate and failover providers

The following are present in the software but are not in the default path. They may process the same categories of data as their primary equivalent if selected as an alternative or used as a failover: Google (Gemini) and xAI (Grok) as alternatives for AI drafting; OpenAI as a speech-to-text failover; and OpenStreetMap Nominatim for address lookup only if the providers above are unconfigured.

Infrastructure providers

Sentry captures application errors, and timing traces for a small sample of requests to our servers, with personal information scrubbed before sending (no request bodies, no cookies, no client IP, no search text, private link tokens masked out), from the United States. Our website and apps send it no performance data. LINZ Basemaps provides aerial map imagery (map tile coordinates only, no personal information) from New Zealand. Browser push services (Google, Apple, Mozilla, Microsoft) deliver notifications using an encrypted device subscription and a payload that contains no personal information. For our iPhone and Android apps, Expo (Expo's push service, United States) relays notifications using a device push token and the same payload contract — the payload contains no personal information.

Knack staff

Knack's own staff are not a subprocessor, but for completeness: a small, named group of authorised Knack staff can access an account's state — settings, statuses, delivery records and error messages, not the content of quotes, notes, photos or messages by default — to provide support and investigate problems. Every such access is logged and the log is kept permanently. Knack staff never sign in as you or act in your name. See section 6 of our Privacy Policy.

Integrations you choose to connect

Business software a contractor connects to their own account — currently Xero (accounting) and Fergus (job management) — is not a subprocessor: it does not work for us, and it receives information only at the connecting contractor's direction (typically the customer's name and email and the line details of an accepted quote, so the contractor can raise their invoice or run the job there). A contractor who turns on the Xero payroll hand-off also sends their own team members' names, work email addresses and approved working hours to Xero, as a draft timesheet for that contractor to check and pay; no pay rate or amount is sent, and hours recorded as leave are never sent. In return Knack reads only each matched team member's ordinary pay rate from Xero Payroll, shown to the account owner to cost that person's hours on jobs. From Fergus, Knack reads only at the contractor's direction: the name of their Fergus company when they connect it, the job and quote it has just sent there, to check they arrived intact, and, when a contractor moving from Fergus asks Knack to bring their customers across, those customers and the contact people Fergus holds for them. It reads nothing else from Fergus, and never invoices, payments, costs or time records. From Xero it reads back only the status of the invoices it drafted there (awaiting payment, part paid or paid, the amount still due and the due date), keeping each invoice's current status only. Once received, information sent to either provider is governed by that provider's own terms and privacy policy. See section 4 of our Privacy Policy.

The same applies to an AI assistant a contractor connects to their own account with a token they create in Settings, or by signing in from the AI app (for example Claude, ChatGPT, Grok or Cursor, on a subscription they hold): it is not a subprocessor, Knack sends it nothing — the contractor's tool fetches a job's working material from Knack with that credential — and where the tool sends what it read is governed by that AI provider's own terms. See section 4 of our Privacy Policy.

A calendar provider a team member subscribes to their schedule with — for example Google Calendar, Apple Calendar or Outlook — is likewise not a subprocessor: it does not work for us, and it receives information only because that member chose to point it at their own private feed link. Unlike the integrations above the transfer is a pull: Knack sends nothing, and the provider fetches the member's bookings (job and customer name, site address, visit notes, non-job time) for as long as the subscription lasts. Revoking the feed link stops future fetches. See section 4 of our Privacy Policy.

The same applies to a contractor's own Google Drive, which they can connect so copies of the compliance certificates they issue are saved into a folder there. Knack uses the narrowest Google permission available (access only to files Knack itself created), the transfer is one-way, and the contractor can disconnect at any time — files already saved remain theirs, in their own Drive.

The same applies to a contractor's own Google mailbox, which they can connect so that the email Knack sends their customers leaves from their own address rather than ours. Google is not a subprocessor for that mail: the contractor connects their own account, and Google sends it for them. Knack asks for the narrowest Google permission that sends — it grants no ability to read the mailbox, its contacts or its settings — the transfer is one-way, and disconnecting stops future sends and ends the permission at Google.

The calendar import is the one connection that runs inward. A team member can paste the private address of another calendar of their own, and Knack fetches it periodically for busy times only — start and end, never titles, locations or attendees. Knack sends that provider nothing but the request, and disconnecting deletes the times Knack had cached. See section 1 of our Privacy Policy.