{"@context":{"dpv":"https://w3id.org/dpv#","pd":"https://w3id.org/dpv/pd#","rdfs":"http://www.w3.org/2000/01/rdf-schema#","name":"https://schema.org/name","email":"https://schema.org/email","reviewedOn":"https://www.mackenziebowes.com/privacy/terms#reviewedOn","flowId":"https://www.mackenziebowes.com/privacy/terms#flowId","status":"https://www.mackenziebowes.com/privacy/terms#status","announced":"https://www.mackenziebowes.com/privacy/terms#announced","since":"https://www.mackenziebowes.com/privacy/terms#since","on":"https://www.mackenziebowes.com/privacy/terms#on","trigger":"https://www.mackenziebowes.com/privacy/terms#trigger","kind":"https://www.mackenziebowes.com/privacy/terms#kind","datum":"https://www.mackenziebowes.com/privacy/terms#datum","howToWithdraw":"https://www.mackenziebowes.com/privacy/terms#howToWithdraw","policy":"https://www.mackenziebowes.com/privacy/terms#policy","host":"https://www.mackenziebowes.com/privacy/terms#host","why":"https://www.mackenziebowes.com/privacy/terms#why","days":"https://www.mackenziebowes.com/privacy/terms#days","how":"https://www.mackenziebowes.com/privacy/terms#how","hosts":"https://www.mackenziebowes.com/privacy/terms#hosts","names":"https://www.mackenziebowes.com/privacy/terms#names","keys":"https://www.mackenziebowes.com/privacy/terms#keys","browserContacts":"https://www.mackenziebowes.com/privacy/terms#browserContacts","storesOnDevice":"https://www.mackenziebowes.com/privacy/terms#storesOnDevice","country":"https://www.mackenziebowes.com/privacy/terms#country","notFrom":"https://www.mackenziebowes.com/privacy/terms#notFrom","visitors":"https://www.mackenziebowes.com/privacy/terms#visitors","platform":"https://www.mackenziebowes.com/privacy/terms#platform"},"@id":"https://www.bookkeepingforsmallbusiness.com/privacy","reviewedOn":"2026-10-19","@graph":[{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller","@type":"dpv:DataController","name":"Mackenzie Bowes","email":"mackenzie@mackenziebowes.com","country":"CA"},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#cloudflare-edge","@type":"dpv:Process","flowId":"cloudflare-edge","name":"Every visit, from a person or an agent","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"anyRequest","rdfs:label":"A person or an agent asks this site for a page or a file."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","pd:IPAddress"],"datum":"ipAddress","rdfs:label":"your IP address"},{"@type":["dpv:PersonalData","pd:UserAgent"],"datum":"userAgent","rdfs:label":"your browser's user agent"},{"@type":["dpv:PersonalData","dpv:ObservedPersonalData"],"datum":"pageUrl","rdfs:label":"the address of the page"},{"@type":["dpv:PersonalData","pd:Country"],"datum":"countryFromIp","rdfs:label":"your country, worked out from your IP address"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"Cloudflare hosts the site, so it handles every request: it sends the page and blocks attacks."},"dpv:hasLegalBasis":{"@type":"dpv:LegitimateInterest","rdfs:label":"Keeping the site online and safe."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"service","name":"Cloudflare","policy":"https://www.cloudflare.com/privacypolicy/"},"dpv:hasRecipient":[],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"processorDecides","policy":"https://www.cloudflare.com/privacypolicy/"},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://www.cloudflare.com/privacypolicy/"},"browserContacts":{"kind":"onlyThisSite"},"storesOnDevice":{"kind":"nothing"}},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#email","@type":"dpv:Process","flowId":"email","name":"Email you send me","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"youEmailMe","rdfs:label":"You send an email to the address above."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","pd:EmailContent"],"datum":"emailAndMessage","rdfs:label":"your email address and what you write"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"I read your message and answer it. I don't add you to a list."},"dpv:hasLegalBasis":{"@type":"dpv:LegitimateInterest","rdfs:label":"Answering people who write to me."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"service","name":"Google Workspace","policy":"https://policies.google.com/privacy"},"dpv:hasRecipient":[{"@type":"dpv:Recipient","name":"Anthropic (Claude)","why":"An AI assistant working for me reads my inbox to sort mail and draft replies."}],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"untilDeleted","how":"Until you ask me to delete it, or I do."},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://policies.google.com/privacy"},"browserContacts":{"kind":"none"},"storesOnDevice":{"kind":"nothing"}},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#catch-up-waitlist","@type":"dpv:Process","flowId":"catch-up-waitlist","name":"The catch-up bookkeeping waitlist","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"youEmailMe","rdfs:label":"You send an email to the address above."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","pd:EmailContent"],"datum":"emailAndMessage","rdfs:label":"your email address and what you write"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"When you email mackenzie@mackenziebowes.com with the subject \"Catch-up waitlist\", I reply to confirm you're on the list, then send one email when catch-up bookkeeping opens, and nothing else."},"dpv:hasLegalBasis":{"@type":"dpv:Consent","howToWithdraw":"Ask me by email at any time and I'll take you off the list."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"service","name":"Google Workspace","policy":"https://policies.google.com/privacy"},"dpv:hasRecipient":[{"@type":"dpv:Recipient","name":"Anthropic (Claude)","why":"An AI assistant working for me reads waitlist emails to count sign-ups and send the confirmation."}],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"untilDeleted","how":"Until catch-up bookkeeping opens and I've sent that one email, or until you ask me to take you off the list."},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://policies.google.com/privacy"},"browserContacts":{"kind":"none"},"storesOnDevice":{"kind":"nothing"}},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#close-kit-waitlist","@type":"dpv:Process","flowId":"close-kit-waitlist","name":"The close kit waitlist","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"youEmailMe","rdfs:label":"You send an email to the address above."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","pd:EmailContent"],"datum":"emailAndMessage","rdfs:label":"your email address and what you write"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"When you email mackenzie@mackenziebowes.com with the subject \"Close kit waitlist\", I reply to confirm you're on the list, then send one email when the close kit opens, and nothing else."},"dpv:hasLegalBasis":{"@type":"dpv:Consent","howToWithdraw":"Ask me by email at any time and I'll take you off the list."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"service","name":"Google Workspace","policy":"https://policies.google.com/privacy"},"dpv:hasRecipient":[{"@type":"dpv:Recipient","name":"Anthropic (Claude)","why":"An AI assistant working for me reads waitlist emails to count sign-ups and send the confirmation."}],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"untilDeleted","how":"Until the close kit opens and I've sent that one email, or until you ask me to take you off the list."},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://policies.google.com/privacy"},"browserContacts":{"kind":"none"},"storesOnDevice":{"kind":"nothing"}},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#onboarding-kit-waitlist","@type":"dpv:Process","flowId":"onboarding-kit-waitlist","name":"The onboarding kit waitlist","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"youEmailMe","rdfs:label":"You send an email to the address above."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","pd:EmailContent"],"datum":"emailAndMessage","rdfs:label":"your email address and what you write"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"When you email mackenzie@mackenziebowes.com with the subject \"Onboarding kit waitlist\", I reply to confirm you're on the list, then send one email when the onboarding kit opens, and nothing else."},"dpv:hasLegalBasis":{"@type":"dpv:Consent","howToWithdraw":"Ask me by email at any time and I'll take you off the list."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"service","name":"Google Workspace","policy":"https://policies.google.com/privacy"},"dpv:hasRecipient":[{"@type":"dpv:Recipient","name":"Anthropic (Claude)","why":"An AI assistant working for me reads waitlist emails to count sign-ups and send the confirmation."}],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"untilDeleted","how":"Until the onboarding kit opens and I've sent that one email, or until you ask me to take you off the list."},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://policies.google.com/privacy"},"browserContacts":{"kind":"none"},"storesOnDevice":{"kind":"nothing"}},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#edge-visit-counts","@type":"dpv:Process","flowId":"edge-visit-counts","name":"Page counts at the edge, for people and agents","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"anyRequest","rdfs:label":"A person or an agent asks this site for a page or a file."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","pd:IPAddress"],"datum":"ipAddress","rdfs:label":"your IP address"},{"@type":["dpv:PersonalData","pd:UserAgent"],"datum":"userAgent","rdfs:label":"your browser's user agent"},{"@type":["dpv:PersonalData","dpv:ObservedPersonalData"],"datum":"pageUrl","rdfs:label":"the address of the page"},{"@type":["dpv:PersonalData","pd:BrowsingReferral"],"datum":"referrer","rdfs:label":"the page you came from"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"When a page, a page's Markdown twin or llms.txt is requested, the site's own code adds one to a count for that day, that page, the ?ref= tag, the site that sent you, and what kind of visitor asked (a browser, or an agent such as GPTBot or Claude, named from its user agent). It checks an agent's IP address against the list its company publishes, to tell a real agent from one pretending. It keeps only the count: no IP address, no user agent text, no cookie, no ID. I use it because agents don't run scripts, so this is the only way to see them."},"dpv:hasLegalBasis":{"@type":"dpv:LegitimateInterest","rdfs:label":"Learning which posts reach people and agents."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"selfHosted","host":"www.bookkeepingforsmallbusiness.com","platform":"Cloudflare","dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://www.cloudflare.com/privacypolicy/"}},"dpv:hasRecipient":[],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"untilDeleted","how":"Until I delete the counts. They are totals and can't be traced to you."},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://www.cloudflare.com/privacypolicy/"},"browserContacts":{"kind":"onlyThisSite"},"storesOnDevice":{"kind":"nothing"}},{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#visit-counts","@type":"dpv:Process","flowId":"visit-counts","name":"Page visit counts","status":{"kind":"active","since":"2026-10-19"},"trigger":{"kind":"pageView","rdfs:label":"A page is viewed."},"dpv:hasDataController":{"@id":"https://www.bookkeepingforsmallbusiness.com/privacy#controller"},"dpv:hasPersonalData":[{"@type":["dpv:PersonalData","dpv:ObservedPersonalData"],"datum":"pageUrl","rdfs:label":"the address of the page"},{"@type":["dpv:PersonalData","pd:BrowsingReferral"],"datum":"referrer","rdfs:label":"the page you came from"}],"notFrom":[],"dpv:hasPurpose":{"@type":"dpv:Purpose","rdfs:label":"When a page loads, it tells me the page, the ?ref= tag on the link if there is one, and which site sent you. I add one to a count for that day, that page, that tag and that site, and keep nothing else about the visit: no IP address, no browser details, no cookie, no ID. I use it to learn which posts bring readers. Browsers that send Do Not Track send nothing."},"dpv:hasLegalBasis":{"@type":"dpv:LegitimateInterest","rdfs:label":"Learning which posts reach readers."},"dpv:hasDataProcessor":{"@type":"dpv:DataProcessor","kind":"selfHosted","host":"www.bookkeepingforsmallbusiness.com","platform":"Cloudflare","dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://www.cloudflare.com/privacypolicy/"}},"dpv:hasRecipient":[],"dpv:hasStorageCondition":{"@type":"dpv:StorageDuration","kind":"untilDeleted","how":"Until I delete the counts. They are totals and can't be traced to you."},"dpv:hasLocation":{"@type":"dpv:Location","kind":"processorDecides","policy":"https://www.cloudflare.com/privacypolicy/"},"browserContacts":{"kind":"onlyThisSite"},"storesOnDevice":{"kind":"nothing"}}]}
