Legal · updated 6 October 2026
Privacy
machine.work runs growth for small businesses: it reads how your website and ads are doing, proposes one change at a time, makes the change once you approve it, and measures what happened. This policy says what that touches, why, how long we keep it, and how you take it back.
Who we are
machine.work is run from Sydney, Australia. [OWNER TO CONFIRM] legal entity name, ABN and postal address. Questions, requests and complaints: hello@machine.work.
For your business’s data — and the personal information in it, like your customers’ or prospects’ details — you decide what goes in and we process it on your behalf. For your own account details, we decide how they’re used, as described here.
What we collect
- Your account. Your email address, and if you sign in with Google, the basic profile Google shares at sign-in (name, email, profile picture). Sign-in asks for nothing else; access to your Google data is asked for separately, only when you connect a product.
- Your business. What you tell us at setup and later: website, what the business does, who the customers are, competitors, what’s off-limits, and the facts you keep in “What we know”.
- Data from the platforms you connect — exactly what, per platform, below. Connection tokens are stored encrypted in Supabase Vault and never sent to your browser.
- What the agent produces. Proposed and approved changes, drafts, articles, the plan, results and the record of who approved what.
- Billing. Stripe handles payment. We store your Stripe customer and subscription IDs and status — never card numbers.
- The free audit. The domain you enter, a one-way hash of your IP address (for rate limiting; we never store the IP itself) and, if you ask for the report by email, that address. Unclaimed audits are deleted after 30 days.
- Cookies. Only what signing in needs: Supabase’s session cookies, which account you’re working in (
mw_org), and two short-lived sign-in helpers (mw_next,mw_pending_email, up to an hour). No advertising or analytics cookies, and no tracking scripts on our marketing pages.
Each connected platform
You connect only what you use, and you can disconnect any of them at any time from Settings → Your data. Nothing is published, sent or spent above the autonomy level you set without your approval.
Google Search Console
- Access
- Read-only: https://www.googleapis.com/auth/webmasters.readonly. Requested when you connect it, never at sign-in.
- What we read
- The list of properties your Google login can see, and for your website’s property: search queries, pages, clicks, impressions, click-through rate and average position by date, country and device; URL Inspection results for your pages.
- What we change
- Nothing. We never change anything in Search Console.
- Why
- To find what is worth changing on your website, and to measure whether each change worked.
- How long
- Daily query and ranking rows are deleted after 180 days. Page-level daily totals are kept while your account is active.
- How to disconnect or delete
- Settings → Your data → Disconnect (we revoke the grant with Google and delete the stored token), or myaccount.google.com/permissions.
Google Analytics 4
- Access
- Read-only: https://www.googleapis.com/auth/analytics.readonly.
- What we read
- The Analytics accounts and properties your login can see; for your property: sessions by date, page and source/medium, key events and bounce rate.
- What we change
- Nothing.
- Why
- To see what visitors do after they arrive, so results are judged on enquiries, not just clicks.
- How long
- Daily traffic rows are deleted after 180 days.
- How to disconnect or delete
- Settings → Your data → Disconnect, or myaccount.google.com/permissions.
Google Ads
- Access
- https://www.googleapis.com/auth/adwords — only if you add the Google Ads channel.
- What we read
- Your account, campaigns, ad groups, ads, keywords, search terms, conversion actions and their performance.
- What we change
- Only changes you approve: negative keywords, keyword bids and bid adjustments, budgets, new ad groups, campaigns and responsive search ads, and pausing ads. We do not upload conversions or customer lists.
- Why
- To propose and, with your approval, make changes that lower your cost per lead.
- How long
- Kept while the channel is connected and your account is active. [OWNER TO CONFIRM] a fixed retention period for ad performance history.
- How to disconnect or delete
- Settings → Your data → Disconnect (revoked with Google), or myaccount.google.com/permissions.
Meta (Facebook and Instagram) Ads
- Access
- Facebook Login for Business with ads_management, ads_read, business_management, pages_show_list, pages_read_engagement and pages_manage_ads — only if you add the Meta Ads or Creative channel.
- What we read
- The ad accounts, Pages and pixels the connection can reach; your campaigns, ad sets (including targeting), ads and their creative; and performance insights.
- What we change
- Only changes you approve: creating campaigns, ad sets, ads and creatives (and uploading their images and videos), changing ad-set budgets, and pausing ads. The one exception is a pause guardrail you agree to when setting up a test, which can pause an ad that crosses the spend limit you set.
- Why
- To run and improve your ads in the same approve-first loop as everything else.
- How long
- Kept while the channel is connected and your account is active. [OWNER TO CONFIRM] a fixed retention period for ad performance history.
- How to disconnect or delete
- Settings → Your data → Disconnect, or remove machine.work in Facebook Settings → Business Integrations. If you also ask Facebook to delete your data, we delete the Meta connection and the ad data that came from it, and give you a confirmation code you can check at machine.work/legal/data-deletion.
Webflow
- Access
- authorized_user:read, sites:read/write, pages:read/write, cms:read/write, assets:read/write.
- What we read
- Your sites, pages, page content and CMS collections and items.
- What we change
- Approved changes only, within the autonomy settings you choose: CMS items (create, update, delete), page SEO fields and text, image uploads, and publishing the site.
- Why
- To publish the content and on-page changes you approve.
- How long
- We keep copies of what we published (for your records and to undo) while your account is active.
- How to disconnect or delete
- Settings → Your data → Disconnect (we revoke the authorisation with Webflow where our app credentials allow), or remove the app in Webflow.
Wix
- Access
- The machine.work app, installed from Wix. Its permissions are set in the Wix app listing: [OWNER TO CONFIRM] the exact Wix permission list.
- What we read
- Your site’s URL and blog.
- What we change
- Approved blog posts (drafts, updates, publishing, removal) and their images.
- Why
- To publish the articles you approve.
- How long
- While the app is installed and your account is active.
- How to disconnect or delete
- Remove the app in your Wix dashboard (we are notified and delete the stored instance credential), or Settings → Your data → Disconnect.
WordPress
- Access
- An application password you create in WordPress and paste in. We never see your login password.
- What we read
- Posts, pages and their SEO fields.
- What we change
- Approved posts and pages (create, update, move to trash — never permanently delete), SEO fields and media uploads.
- Why
- To publish the changes you approve.
- How long
- The application password is stored encrypted until you disconnect.
- How to disconnect or delete
- Settings → Your data → Disconnect: we delete the application password itself in WordPress (where it allows) and our stored copy. You can also revoke it under Users → Profile → Application Passwords.
Framer
- Access
- Your project’s link and a Server API key you create in the project’s Settings → API and paste in.
- What we read
- Your project’s Blog CMS collection (items and their fields) and the text of the pages we’re asked to edit.
- What we change
- Approved changes only: Blog CMS items (add, update, and removing a draft we created), page text, image uploads and image alt text, links, structured data (schema) for the site, and publishing the project.
- Why
- To publish the articles and on-page changes you approve.
- How long
- The API key is stored encrypted until you disconnect.
- How to disconnect or delete
- Settings → Your data → Disconnect deletes our stored key. Framer has no API for us to revoke it, so also delete the API key in your Framer project’s settings.
GoHighLevel
- Access
- blogs/list.readonly, blogs/posts.readonly, blogs/post.write, blogs/post-update.write, blogs/check-slug.readonly, blogs/author.readonly, blogs/category.readonly, medias.write, funnels/redirect.write, funnels/redirect.readonly.
- What we read
- Your blogs, posts, authors, categories and redirects.
- What we change
- Approved blog posts, media uploads and redirects.
- Why
- To publish the content you approve.
- How long
- Until you disconnect or delete your account.
- How to disconnect or delete
- Settings → Your data → Disconnect (stored token deleted), and uninstall the app in HighLevel to revoke it there.
Shopify
- Access
- read_content, write_content, read_products, write_products — through the machine.work app, connected for your one store. We don’t ask for access to customers or orders.
- What we read
- Your store’s blogs and articles, pages, and products and collections — their titles, text, images and SEO fields.
- What we change
- Approved changes only: new blog articles (created hidden, published when you approve; we only ever delete an unpublished draft we made), text and link edits in articles and pages, image alt text, and the SEO title and description of articles, pages, products and collections.
- Why
- To publish the content and SEO changes you approve on your store.
- How long
- The access token (it expires hourly and is renewed) is stored encrypted until you disconnect or uninstall. We hold no customer or order data. Your shop’s data is erased when Shopify sends its shop-erasure request after you uninstall.
- How to disconnect or delete
- Uninstall the app in Shopify admin (access is revoked and your shop’s data erased), or Settings → Your data → Disconnect (we revoke the token with Shopify). We answer Shopify’s customer data and erasure requests.
Ghost
- Access
- Your Ghost Admin API URL and an Admin API key from a custom integration you create (Ghost Admin → Settings → Integrations) and paste in. We check it with one read before saving it.
- What we read
- Your site’s title, and your posts and pages — titles, slugs, content, SEO fields and feature-image alt text.
- What we change
- Approved changes only: new posts (created as drafts, published when you approve; we only ever delete a draft we made, never a live post), SEO titles and descriptions of posts and pages, text and link edits in posts and pages, and image alt text. If someone saved the post in Ghost after we read it, we change nothing.
- Why
- To publish the articles and on-page changes you approve.
- How long
- The Admin API key is stored encrypted until you disconnect.
- How to disconnect or delete
- Settings → Your data → Disconnect deletes our stored key. Ghost has no API for us to revoke it, so also delete the machine.work custom integration in Ghost Admin → Settings → Integrations.
Microsoft 365 (Outbound)
- Access
- offline_access, openid, email, User.Read, Mail.Send, Mail.ReadWrite, Mail.Send.Shared, Mail.ReadWrite.Shared, Calendars.ReadWrite, Calendars.ReadWrite.Shared — only if you use Outbound.
- What we read
- Your account name and address; messages in the connected mailbox since you connected it (to find replies to Outbound emails); calendar free/busy.
- What we change
- Sends the Outbound emails you (or autonomy you granted) approve from your mailbox, and books meetings in your calendar.
- Why
- So prospecting email comes from you, replies are handled in one place, and meetings land in your calendar.
- How long
- Outbound threads and replies are kept while your account is active.
- How to disconnect or delete
- Settings → Your data → Disconnect deletes the stored token. Microsoft has no API for us to revoke it, so also remove machine.work at myapps.microsoft.com.
Google Workspace / Gmail (Outbound)
- Access
- https://www.googleapis.com/auth/gmail.send and https://www.googleapis.com/auth/gmail.readonly — only if you connect a Gmail mailbox to Outbound.
- What we read
- Messages arriving in the connected mailbox’s inbox after you connect it, to find replies and bounces to Outbound emails; and the headers of the emails we send, to keep follow-ups in the same thread. Read-only: we never change, label or delete anything in the mailbox.
- What we change
- Sends the Outbound emails you (or autonomy you granted) approve, from your mailbox.
- Why
- So prospecting email comes from you and replies are handled in one place.
- How long
- Outbound threads and replies are kept while your account is active.
- How to disconnect or delete
- Settings → Your data → Disconnect (we revoke the grant with Google and delete the stored token), or myaccount.google.com/permissions.
Other mailboxes — SMTP and IMAP (Outbound)
- Access
- Your mail server’s name, your username and an app password you enter. The password is stored encrypted and is never sent to your browser.
- What we read
- Over IMAP, read-only: messages in your inbox since you connected it, to find replies and bounces to Outbound emails.
- What we change
- Sends the Outbound emails you (or autonomy you granted) approve, over SMTP. Nothing in the mailbox is changed or deleted.
- Why
- So prospecting email comes from your own mailbox when it isn’t Microsoft 365 or Gmail.
- How long
- The app password until you disconnect; Outbound threads and replies while your account is active.
- How to disconnect or delete
- Settings → Your data → Disconnect deletes the stored password. Revoke the app password with your email provider to invalidate it there.
Notion (Outbound)
- Access
- Notion’s standard connection, limited to the pages you choose.
- What we read
- The pipeline database we create in those pages.
- What we change
- Creates and updates the pipeline database and its pages.
- Why
- To keep your Outbound pipeline in Notion if you work there.
- How long
- Until you disconnect or delete your account.
- How to disconnect or delete
- Settings → Your data → Disconnect (revoked with Notion where our app credentials allow), or Notion → Settings → Connections.
Slack
- Access
- The machine.work Slack app, added to your workspace with “Add to Slack”: chat:write, channels:read, groups:read, channels:join, users:read and users:read.email. No access to direct messages.
- What we read
- Your channel names (public channels, and private ones you invite the app to), so you can pick where cards go. When someone clicks a button, that person’s Slack name and email, to check they’re an owner or admin of your machine.work account.
- What we change
- Posts decisions waiting for you (with Approve and Decline) to the channel you choose, and updates each card once it’s decided — in Slack, the dashboard or by email.
- Why
- So you can approve changes where you already work.
- How long
- The app’s token is stored encrypted until you disconnect. Which message shows which decision is kept with the decision, and deleted with it.
- How to disconnect or delete
- Settings → Your data → Disconnect (we revoke the token with Slack and delete it), or remove the app from your Slack workspace.
Fathom (Outbound)
- Access
- A Fathom API key and webhook you add.
- What we read
- Recorded sales calls: titles, attendees, transcripts, summaries and action items.
- What we change
- Nothing in Fathom.
- Why
- To turn sales calls into follow-ups and next steps.
- How long
- Call notes are kept while your account is active.
- How to disconnect or delete
- Settings → Your data → Disconnect, and remove the key/webhook in Fathom.
Fireflies (Outbound)
- Access
- A Fireflies API key you paste in, and optionally a webhook you add in Fireflies with the address and signing secret shown in Outbound settings.
- What we read
- Your transcribed meetings: title, date and length, attendees and their email addresses, the transcript, and Fireflies’ summary and action items.
- What we change
- Nothing in Fireflies.
- Why
- To turn sales calls into follow-ups and next steps on the right Outbound account.
- How long
- The API key is stored encrypted until you disconnect. Call notes are kept while your account is active, including calls that match no Outbound prospect (kept unanalysed). [OWNER TO CONFIRM] a retention period for call notes that match no prospect.
- How to disconnect or delete
- Settings → Your data → Disconnect deletes our stored key. Fireflies has no API for us to revoke it, so also delete the key and the webhook in Fireflies.
Google user data — Limited Use
machine.work’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
In practice, for data from Search Console, Analytics, Google Ads and Gmail:
- We use it only to provide the features you see: finding changes worth making on your website or ads, measuring the results, and — for Gmail — sending the Outbound emails you approve and handling their replies, for you, in your account.
- We don’t sell it, use it for advertising, or use it to build profiles of anyone.
- We don’t use it to train or improve general-purpose AI or machine-learning models. To write a recommendation for you, the relevant numbers are sent to our AI provider (Anthropic) as a processor working for us, under terms that don’t allow them to train on it. [OWNER TO CONFIRM] the Anthropic API terms on our account.
- People at machine.work don’t read it, except with your permission (for example, when you ask for help), for security, to comply with the law, or in aggregated, anonymised form for operations.
- We transfer it only to provide or improve those features, for security, or to comply with the law — never to data brokers or advertising platforms.
Search Console and Analytics access is read-only; Gmail access sends and reads but never changes or deletes mail. You can revoke our access in Settings → Your data or at myaccount.google.com/permissions.
Who processes it for us
These providers process data on our behalf, only for the purpose listed.
- Supabase
- Database, sign-in, encrypted credential vault and file storage. [OWNER TO CONFIRM] region (our records say Singapore).
- Vercel
- Hosts this website and the app (Singapore region).
- Google Cloud
- Runs the agent (Cloud Run, us-central1, United States).
- Upstash
- Job queues; queued email jobs carry the recipient address. [OWNER TO CONFIRM] region.
- Anthropic (Claude)
- The AI that writes recommendations, drafts and Outbound emails. Receives your website’s content, your business details, metrics, and for Outbound, the prospect details needed to write to them.
- OpenAI and Google Gemini
- Asked the questions your customers ask AI assistants, to check whether you’re named in the answers — these questions are about your market, not about people. Gemini also reviews ad videos you upload to Creative, with their brief.
- Voyage AI
- Turns your business’s content and the agent’s notes into search vectors so it can find what it learned before.
- Langfuse
- Records how agent runs went (inputs, outputs, costs) so we can fix problems. These records can include your business data.
- DataForSEO and Ahrefs
- Search data about domains and keywords — yours and your competitors’.
- Surfer
- Checks article drafts read naturally.
- Pexels
- Image search terms for article images.
- Hunter, Apollo and Adzuna
- Outbound prospecting: company and job-board searches, and finding the right contact at a business (Hunter and Apollo with your own API keys).
- Resend
- Sends our emails (your address and the email’s content).
- Stripe
- Payments (your account name and email).
- Cloudflare Turnstile
- Bot protection on the free audit, when enabled (a challenge token and your IP address).
[OWNER TO CONFIRM] that each AI provider is used on API terms with no training on our inputs (Anthropic and OpenAI API defaults; the paid Gemini API tier), and any zero-data-retention agreements.
Because these providers are in Singapore and the United States, your data is processed outside Australia. We choose providers that protect it to a standard comparable to the Australian Privacy Principles.
People Outbound contacts
If a business uses Outbound, the agent finds and emails prospective customers for it. For those people we store business contact details (name, role, work email, sometimes phone), where the details came from, the evidence that the address was published for business contact (as Australia’s Spam Act requires), the emails sent and any replies, meetings and call notes. Every email identifies the sender and has a one-click unsubscribe. Unsubscribes and complaints go on a suppression list that is kept permanently, even after other details are deleted, so we never email that address again. To ask what we hold about you, or to have it deleted, email hello@machine.work. [OWNER TO CONFIRM] retention period for prospect records that never became customers.
How long we keep it
- Your account and business
- While your account is open. When you delete it, after the 7-day grace period.
- Daily Search Console and Analytics rows
- 180 days.
- Agent working notes, Slack run records
- 30 days.
- Execution receipts (proof of what was published)
- 90 days, then the decision record remains.
- Free audits nobody claimed
- 30 days.
- Data exports
- The file is deleted 7 days after it’s made.
- Connection tokens
- Until you disconnect, the provider tells us you removed the app, or you delete the business.
- Backups
- Deleted data leaves our database immediately and our provider’s backups when they roll over. [OWNER TO CONFIRM] the Supabase backup retention window on our plan.
- Record of a deletion
- We keep that a deletion or export happened — what kind, when, by which account — and nothing of the deleted content, as proof we did it.
Export, disconnect, delete
All of this is self-serve in Settings → Your data:
- Export (owners and admins): one JSON file with everything we hold for the business. Credentials are never included. We email you when it’s ready; you download it signed in, and the file is deleted after 7 days.
- Disconnect an integration (owners and admins): the agent stops using it immediately; we revoke our access at the provider where it offers a way to (Google, including Gmail; Meta; Slack; Webflow; Notion; Shopify; WordPress) and delete the stored credential everywhere. For providers with no revocation API (Microsoft, GoHighLevel, Wix, Framer, Ghost, Fathom, Fireflies, Hunter, Apollo, and SMTP mailboxes) we delete our credential and tell you where to remove it on their side.
- Delete a business, or your whole account (owners): you type its name to confirm. The agent stops at once — no more runs, publishing or emails. After 7 days, during which you can cancel, we revoke every connection, delete stored credentials and files, and permanently delete the data. Changes already published to your website stay there; they’re yours.
- From the platform’s side: removing machine.work in Facebook settings, uninstalling the Wix or Shopify app, or revoking at Google stops our access; Meta and Shopify deletion requests are carried out automatically. You can check a Meta deletion request at machine.work/legal/data-deletion.
- Or email hello@machine.work and we’ll do any of it for you.
Security
Provider tokens are encrypted in Supabase Vault (and, where the agent rotates its own copy, with AES-256-GCM) and are never sent to a browser. Every table is protected by row-level security, so one account can never read another’s data. Everything travels over HTTPS. Access inside machine.work is limited to the people who run the service.
Your rights
Under the Australian Privacy Act you can ask to access or correct the personal information we hold about you, and complain if you think we’ve mishandled it. Email hello@machine.work; we reply within 30 days. If you’re not satisfied, you can complain to the Office of the Australian Information Commissioner (oaic.gov.au). If you’re in the EU or UK, you also have rights to erasure, restriction, objection and portability, which the controls above deliver. [OWNER TO CONFIRM] whether to name an EU/UK representative.
machine.work is for businesses and is not directed at children under 16.
If this policy changes in a way that matters, we’ll email account owners before it takes effect.