{
  "schema_version": 1,
  "entity_slug": "tnaado-inc",
  "entity": "TNAADO Inc.",
  "jurisdiction": "Ontario, Canada",
  "product_slug": "service-tnaado-ca",
  "product": "service.tnaado.ca",
  "policy_slug": "privacy-policy",
  "policy": "Privacy Policy",
  "source_effective_date": "2026-01-30",
  "source_updated_date": "2026-08-22",
  "source_version": null,
  "canonical_url": "https://service.tnaado.ca/privacy",
  "captured_at": "2026-10-25T20:53:13+00:00",
  "source_html": "<!DOCTYPE html>\n<html lang=\"en-CA\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n<title>Privacy policy | TNAADO</title>\n<meta name=\"description\" content=\"How TNAADO Inc. handles personal information on service.tnaado.ca: what the booking form stores, the two analytics systems, the cookies, Cloudflare Turnstile, and who the third parties are.\">\n<link rel=\"canonical\" href=\"https://service.tnaado.ca/privacy\">\n<meta name=\"robots\" content=\"index, follow\">\n\n<link rel=\"icon\" href=\"/assets/brand/tnaado-favicon.svg\" type=\"image/svg+xml\">\n\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300;1,9..144,400&family=IBM+Plex+Sans:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap\">\n\n<link rel=\"stylesheet\" href=\"/css/util.css\">\n\n<style>\n/* Page-local, in the manner of /strategy-publicity's balance rule: .u-toc__list\n   exists on this page and no other, so the fix ships with the page rather than\n   into css/util.css.\n\n   MEASURED, not assumed: at 390x844 with a coarse pointer, every one of the\n   fourteen contents entries had a LAYOUT height (offsetHeight, not\n   getBoundingClientRect) of 37px. WCAG 2.5.8 Target Size (Minimum) is 44px, and\n   these are flex, display:flex, not inline, so the inline-text exception does\n   not apply to them. .38rem of vertical padding on a .9375rem/1.4 line is\n   6.08 + 22.4 + 6.08 = 34.6, which the browser rounded to 37.\n\n   So the touch-safe value is the DEFAULT and the tight two-column index is\n   restored only where the pointer is fine, which is the only place the standing\n   rule permits 44px to be relaxed. A mouse gets the original density; a thumb\n   gets a target it can hit. */\n.u-prose .u-toc__list a { padding: .7rem 0; }\n@media (pointer: fine) {\n  .u-prose .u-toc__list a { padding: .38rem 0; }\n}\n</style>\n\n<link rel=\"stylesheet\" href=\"/css/chrome.css\">\n\n<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"Privacy policy\",\n  \"url\": \"https://service.tnaado.ca/privacy\",\n  \"description\": \"How TNAADO Inc. handles personal information collected through service.tnaado.ca.\",\n  \"inLanguage\": \"en-CA\",\n  \"dateModified\": \"2026-08-22\",\n  \"isPartOf\": { \"@type\": \"WebSite\", \"name\": \"TNAADO\", \"url\": \"https://service.tnaado.ca/\" },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"TNAADO Inc.\",\n    \"address\": {\n      \"@type\": \"PostalAddress\",\n      \"streetAddress\": \"1050 King Street West\",\n      \"addressLocality\": \"Toronto\",\n      \"addressRegion\": \"ON\",\n      \"postalCode\": \"M6K 0C7\",\n      \"addressCountry\": \"CA\"\n    }\n  }\n}\n</script>\n  <meta property=\"og:type\" content=\"website\">\n  <meta property=\"og:url\" content=\"https://service.tnaado.ca/privacy\">\n  <meta property=\"og:title\" content=\"Privacy policy\">\n  <meta property=\"og:description\" content=\"What the booking form stores, which analytics run, and how to have your record removed.\">\n  <meta property=\"og:image\" content=\"https://service.tnaado.ca/assets/og/privacy.png\">\n  <meta property=\"og:image:secure_url\" content=\"https://service.tnaado.ca/assets/og/privacy.png\">\n  <meta property=\"og:image:type\" content=\"image/png\">\n  <meta property=\"og:image:width\" content=\"1200\">\n  <meta property=\"og:image:height\" content=\"630\">\n  <meta property=\"og:image:alt\" content=\"TNAADO, Toronto. Privacy policy.\">\n  <meta property=\"og:site_name\" content=\"TNAADO\">\n  <meta property=\"og:locale\" content=\"en_CA\">\n  <meta name=\"twitter:card\" content=\"summary_large_image\">\n  <meta name=\"twitter:title\" content=\"Privacy policy\">\n  <meta name=\"twitter:description\" content=\"What the booking form stores, which analytics run, and how to have your record removed.\">\n  <meta name=\"twitter:image\" content=\"https://service.tnaado.ca/assets/og/privacy.png\">\n  <meta name=\"twitter:image:alt\" content=\"TNAADO, Toronto. Privacy policy.\">\n  <link rel=\"alternate\" hreflang=\"en-CA\" href=\"https://service.tnaado.ca/privacy\">\n  <link rel=\"alternate\" hreflang=\"x-default\" href=\"https://service.tnaado.ca/privacy\">\n</head>\n<body>\n\n<div class=\"chrome\" data-chrome data-current=\"\">\n\n  \n  <a class=\"u-skip\" href=\"#main\">Skip to content</a>\n\n  \n  <div class=\"menubar\">\n    <a class=\"menubar__brand\" href=\"/\" aria-label=\"TNAADO, home\">\n      <img class=\"menubar__logo\" src=\"/assets/brand/tnaado-logo.png\" alt=\"TNAADO\"\n           width=\"240\" height=\"55\" decoding=\"async\">\n    </a>\n    <p class=\"menubar__desc\">A media and technology firm in Toronto.</p>\n    <button class=\"menubar__btn\" type=\"button\" data-navsheet-pull\n            aria-expanded=\"false\" aria-controls=\"navSheet\">\n      <span>Menu</span>\n      <span class=\"menubar__bars\" aria-hidden=\"true\"><i></i><i></i><i></i></span>\n    </button>\n  </div>\n\n  \n  <nav class=\"navsheet\" id=\"navSheet\" aria-label=\"Site\" data-navsheet>\n    <button class=\"navsheet__close\" type=\"button\" data-sheet-close\n            aria-label=\"Close the menu\">&times;</button>\n    <div class=\"navsheet__inner\">\n      <p class=\"navsheet__kicker\">Two ways in</p>\n\n      <ul class=\"navsheet__doors\">\n        <li class=\"door\" data-door=\"technology\">\n          <div class=\"door__row\">\n            <a class=\"door__link\" href=\"/technology\">\n              <i class=\"door__n\" aria-hidden=\"true\">01</i>Technology\n              <em>we build the software</em>\n            </a>\n            <button class=\"door__more\" type=\"button\" data-door-toggle\n                    aria-expanded=\"false\" aria-controls=\"door-technology\">\n              <span class=\"u-vh\">Technology pages</span>\n              <span class=\"door__chev\" aria-hidden=\"true\"></span>\n            </button>\n          </div>\n          <ul class=\"door__sub\" id=\"door-technology\">\n            <li><a href=\"/web-design-toronto\">Websites</a></li>\n            <li><a href=\"/ecommerce-website-design-toronto\">Online stores</a></li>\n            <li><a href=\"/shopify-development-toronto\">Shopify</a></li>\n            <li><a href=\"/custom-software-toronto\">Custom software</a></li>\n              <li><a href=\"/ios-app-development-toronto\">iPhone apps</a></li>\n            <li><a href=\"/stack\">The stack</a></li>\n          </ul>\n        </li>\n\n        <li class=\"door\" data-door=\"media\">\n          <div class=\"door__row\">\n            <a class=\"door__link\" href=\"/media\">\n              <i class=\"door__n\" aria-hidden=\"true\">02</i>Media\n              <em>we shoot it and cut it</em>\n            </a>\n            <button class=\"door__more\" type=\"button\" data-door-toggle\n                    aria-expanded=\"false\" aria-controls=\"door-media\">\n              <span class=\"u-vh\">Media pages</span>\n              <span class=\"door__chev\" aria-hidden=\"true\"></span>\n            </button>\n          </div>\n          <ul class=\"door__sub\" id=\"door-media\">\n            <li><a href=\"/brand-video-toronto\">Brand video</a></li>\n            <li><a href=\"/product-photography-toronto\">Product photography</a></li>\n          </ul>\n        </li>\n\n        \n\n        \n\n        \n      </ul>\n\n      \n      <p class=\"navsheet__kicker navsheet__kicker--firm\">The firm</p>\n      <div class=\"navsheet__firm\">\n        <a href=\"https://portfolio.tnaado.ca\" target=\"_blank\" rel=\"noopener\">Portfolio</a><a href=\"/testimonials\">Testimonials</a><a href=\"/firm\">About</a><a href=\"/office\">The office</a><a href=\"/team\">Team</a>\n        <a href=\"/faq\">FAQ</a><a href=\"/contact\">Contact</a>\n      </div>\n\n      <a class=\"navsheet__cta\" href=\"#book\">Work with us</a>\n    </div>\n  </nav>\n</div>\n\n<main id=\"main\">\n\n  <section class=\"u-hero u-hero--flat\">\n    <div class=\"u-hero__body\">\n      <div class=\"u-rail\">\n        <p class=\"u-kicker\">Legal</p>\n        <h1 class=\"u-h1\">Privacy <em>policy.</em></h1>\n        <p class=\"u-lede\"><strong>Effective</strong> January 30, 2026. <strong>Last updated</strong> August 22, 2026. This policy covers <strong>service.tnaado.ca</strong>, the site where clients reach TNAADO Inc. about technology, media and consulting work. The media site and the consumer apps, including The Dispatch, are governed by the <a href=\"https://tnaado.ca/privacy\">universal policy at tnaado.ca/privacy</a>.</p>\n      </div>\n    </div>\n  </section>\n\n  <section class=\"u-sec\">\n    <div class=\"u-rail\">\n      <div class=\"u-prose\">\n\n        <nav class=\"u-toc\" aria-label=\"Sections of this policy\">\n          <p class=\"u-toc__k\">On this page</p>\n          <ul class=\"u-toc__list\">\n            <li><a href=\"#s01\"><span class=\"u-toc__n\">S.01</span>Scope</a></li>\n            <li><a href=\"#s02\"><span class=\"u-toc__n\">S.02</span>What you tell us</a></li>\n            <li><a href=\"#s03\"><span class=\"u-toc__n\">S.03</span>What is collected automatically</a></li>\n            <li><a href=\"#s04\"><span class=\"u-toc__n\">S.04</span>Cookies and local storage</a></li>\n            <li><a href=\"#s05\"><span class=\"u-toc__n\">S.05</span>Analytics</a></li>\n            <li><a href=\"#s06\"><span class=\"u-toc__n\">S.06</span>Booking a call or a visit</a></li>\n            <li><a href=\"#s07\"><span class=\"u-toc__n\">S.07</span>Spam and abuse controls</a></li>\n            <li><a href=\"#s08\"><span class=\"u-toc__n\">S.08</span>The on-site assistant</a></li>\n            <li><a href=\"#s09\"><span class=\"u-toc__n\">S.09</span>Third parties, named</a></li>\n            <li><a href=\"#s10\"><span class=\"u-toc__n\">S.10</span>What this site does not do</a></li>\n            <li><a href=\"#s11\"><span class=\"u-toc__n\">S.11</span>Retention</a></li>\n            <li><a href=\"#s12\"><span class=\"u-toc__n\">S.12</span>Your rights</a></li>\n            <li><a href=\"#s13\"><span class=\"u-toc__n\">S.13</span>Where the data sits</a></li>\n            <li><a href=\"#s14\"><span class=\"u-toc__n\">S.14</span>Changes and contact</a></li>\n          </ul>\n        </nav>\n\n        <h2 class=\"u-h3\" id=\"s01\"><span class=\"u-h3__n\">S.01</span> Scope</h2>\n        <p>This policy explains how <strong>TNAADO Inc.</strong> (&ldquo;TNAADO&rdquo;, &ldquo;we&rdquo;, &ldquo;us&rdquo;) collects and handles personal information through <strong>service.tnaado.ca</strong>. TNAADO Inc. is a Canadian company at 1050 King Street West, Toronto, and this site is governed by Canada&rsquo;s <em>Personal Information Protection and Electronic Documents Act</em> (PIPEDA), applicable provincial privacy statutes, and equivalent regimes where they apply to you.</p>\n        <p>It covers this site only. Our media property, our newsroom and our consumer apps are separate systems with separate databases, and they are covered by the <a href=\"https://tnaado.ca/privacy\">universal policy at tnaado.ca/privacy</a>.</p>\n\n        <h2 class=\"u-h3\" id=\"s02\"><span class=\"u-h3__n\">S.02</span> What you tell us</h2>\n        <p>The only form on this site that collects anything about you is the booking form. When you use it we store what you type: your <strong>name</strong>, <strong>email address</strong>, and optionally your <strong>company</strong>, <strong>phone number</strong> and <strong>message</strong>, together with which service you selected, the half-hour slot you chose, and the time zone your browser reports so the confirmation shows you the right clock time.</p>\n        <p>Nothing on this site asks for sensitive personal information, and nothing on it takes a payment. If you email or call us instead, we keep that correspondence in the ordinary way any business keeps its mail.</p>\n\n        <h2 class=\"u-h3\" id=\"s03\"><span class=\"u-h3__n\">S.03</span> What is collected automatically</h2>\n        <p>Every visit produces one pageview record: the <strong>path</strong> you looked at, the <strong>referring address</strong> if there was one, your <strong>browser&rsquo;s user-agent string</strong>, whether the device is a phone, tablet or desktop, and how many seconds the page was actually visible. Your <strong>IP address</strong> and a coarse location derived from it are added by our server, not by your browser.</p>\n        <p>If you arrive from an advertisement or a campaign link, the campaign parameters in that address are recorded with the visit: the <code>utm_</code> values, and whichever <strong>click identifier</strong> the advertising platform attached: Google Ads (<code>gclid</code>, <code>gbraid</code>, <code>wbraid</code>), Microsoft Ads (<code>msclkid</code>) or Facebook (<code>fbclid</code>). If you then book, those values are attached to the booking, so we can tell which advertisement produced an enquiry.</p>\n\n        <h2 class=\"u-h3\" id=\"s04\"><span class=\"u-h3__n\">S.04</span> Cookies and local storage</h2>\n        <p>We set one cookie of our own. <code>tn_vid</code> holds a randomly generated identifier, lasts one year, and is first-party and <code>SameSite=Lax</code>: it lets us see that two pageviews came from the same browser without knowing who you are, and it is not readable by any other website. Where campaign values are held for later, they are held in a second first-party cookie, <code>tn_attr</code>. Neither is an advertising cookie and neither follows you off this site.</p>\n        <p>Google Analytics sets its own cookies, described in S.05. The booking form also keeps the list of free slots in your browser&rsquo;s <code>sessionStorage</code> for 45 seconds so that changing service does not re-request it; that cache holds no personal information and is gone when you close the tab.</p>\n        <p>You can clear or block all of the above in your browser settings. If you block them the site still works; the booking form still books.</p>\n\n        <h2 class=\"u-h3\" id=\"s05\"><span class=\"u-h3__n\">S.05</span> Analytics</h2>\n        <p>These are separate systems.</p>\n        <ul>\n          <li><strong>Google Analytics 4</strong>, property <code>G-Y561C98Y8Q</code>. Google receives the pageview and sets its own cookies. It is used for aggregate reporting: which pages get read, which campaigns bring people in. The same tag also reports to our Google Ads account, conversion ID <code>AW-17175265494</code>, so an advertisement can be credited with the enquiry it produced. Google&rsquo;s own handling is described in their <a href=\"https://policies.google.com/privacy\">privacy policy</a>, and you can opt out with their <a href=\"https://tools.google.com/dlpage/gaoptout\">browser add-on</a>.</li>\n          <li><strong>Our own pageview record.</strong> One request per visit to <code>site.tnaado.ca/api/collect</code>, a TNAADO endpoint, which writes the fields listed in S.03 into our own database. It runs on our infrastructure and the row is not shared with anyone.</li>\n        </ul>\n        <p>Requests our own system identifies as coming from a bot or crawler are discarded rather than recorded.</p>\n\n        <h2 class=\"u-h3\" id=\"s06\"><span class=\"u-h3__n\">S.06</span> Booking a call or a visit</h2>\n        <p>The booking form is served by <strong>Supabase</strong>, which hosts our database and the two functions behind it: one that lists free slots, one that books one. Booking writes a row holding the fields in S.02, the slot, its status, and the page you booked from.</p>\n        <p>Booking also creates a real event in a <strong>Google Calendar</strong> belonging to the person you are meeting, with <strong>you added as an attendee</strong>. That is how the invitation reaches you: Google emails it to the address you gave. A call receives a <strong>Google Meet</strong> link in that invitation; a booked visit to the office receives the street address and no video link. Cancelling or removing yourself from the event is done from the invitation in your own calendar, and you can ask us to delete the booking outright.</p>\n        <p>Your enquiry is also forwarded once to <strong>TNAADO&rsquo;s own client-enquiry system</strong> at <code>site.tnaado.ca</code>, so that a real person sees it rather than only a calendar entry. That system is ours, it is not a third-party CRM, and the enquiry is not sent to our billing systems.</p>\n\n        <h2 class=\"u-h3\" id=\"s07\"><span class=\"u-h3__n\">S.07</span> Spam and abuse controls</h2>\n        <p>The booking form is protected by <strong>Cloudflare Turnstile</strong>. Turnstile runs a challenge in your browser and issues a token; we send that token and the IP address the request came from to Cloudflare to be verified. Cloudflare&rsquo;s handling is covered by its own <a href=\"https://www.cloudflare.com/privacypolicy/\">privacy policy</a>.</p>\n        <p>We also rate-limit bookings. Doing so means recording the IP address a booking request came from, for the length of the limiting window, in a table used for nothing else. Without it a single script could take every appointment in the calendar.</p>\n\n        <h2 class=\"u-h3\" id=\"s08\"><span class=\"u-h3__n\">S.08</span> The on-site assistant</h2>\n        <p>The home page offers an assistant that answers questions about the firm. What you type into it is sent to one of our own Supabase functions to generate a reply. <strong>Do not put confidential or sensitive information into it</strong>: if something needs to be handled carefully, email or call us so it can be.</p>\n\n        <h2 class=\"u-h3\" id=\"s09\"><span class=\"u-h3__n\">S.09</span> Third parties, named</h2>\n        <p>These are all of them, and what each one is for:</p>\n        <ul>\n          <li><strong>Vercel</strong>: hosts and serves the site.</li>\n          <li><strong>Cloudflare</strong>. DNS and content delivery in front of it, and Turnstile on the form.</li>\n          <li><strong>Supabase</strong>: the database and the functions behind the booking form and the assistant.</li>\n          <li><strong>Google</strong>. Analytics and Google Ads conversion measurement; Calendar and Meet for bookings, including delivery of the invitation email; and Google Fonts, which your browser requests directly, so Google sees the request.</li>\n          <li><strong>jsDelivr</strong>: a public code CDN that serves one JavaScript library to the home page; it sees the request for that file.</li>\n        </ul>\n        <p>Each is bound by its own terms and by confidentiality where a contract applies. Beyond these, we disclose personal information only where the law requires it: a court order or a regulatory request: or in connection with a merger or transfer of the business, with notice where that is reasonably practicable.</p>\n\n        <h2 class=\"u-h3\" id=\"s10\"><span class=\"u-h3__n\">S.10</span> What this site does not do</h2>\n        <p>This site <strong>does not sell or rent your data</strong>. It <strong>carries no advertising</strong>: no ad network, no ad units, no remarketing pixel from a social platform. Visits are reported to Google Ads for conversion measurement, described in S.05. It <strong>takes no payment</strong>, so it never sees a card number. It <strong>has no login</strong>, so there is no account and no password. It <strong>does not add you to a mailing list</strong>: booking a call subscribes you to nothing.</p>\n\n        <h2 class=\"u-h3\" id=\"s11\"><span class=\"u-h3__n\">S.11</span> Retention</h2>\n        <p>Enquiries and bookings are kept while the conversation or engagement is live, and afterwards only as long as needed for our legal, tax and accounting obligations, then destroyed. Rate-limit records are short-lived by design. Analytics records are kept in aggregate. You can ask us to delete your enquiry at any time and we will, subject to anything we are required to retain.</p>\n\n        <h2 class=\"u-h3\" id=\"s12\"><span class=\"u-h3__n\">S.12</span> Your rights</h2>\n        <p>Subject to applicable law you may ask us for a copy of the personal information we hold about you, ask us to correct it, ask us to delete it, withdraw consent where consent is what we relied on, and complain to a privacy regulator: in Canada, the <a href=\"https://www.priv.gc.ca/\">Office of the Privacy Commissioner</a>. Write to <a href=\"/cdn-cgi/l/email-protection#ec80898b8d80ac98828d8d8883c28f8d\"><span class=\"__cf_email__\" data-cfemail=\"e9858c8e8885a99d8788888d86c78a88\">[email&#160;protected]</span></a> and say which of those you want; we do not require a particular form of words.</p>\n\n        <h2 class=\"u-h3\" id=\"s13\"><span class=\"u-h3__n\">S.13</span> Where the data sits</h2>\n        <p>Our database is hosted in Canada. Some of the providers named in S.09 operate globally and may process data outside Canada, principally in the United States. Where that happens we rely on those providers&rsquo; contractual and organisational safeguards, which are intended to give comparable protection. Transmission to and from this site is over HTTPS with current TLS. No transmission over the internet is perfectly secure; do not send documents you would not want intercepted over a network you do not trust.</p>\n\n        <h2 class=\"u-h3\" id=\"s14\"><span class=\"u-h3__n\">S.14</span> Changes and contact</h2>\n        <p>When this policy changes, the current version is posted here and the &ldquo;last updated&rdquo; date above changes with it. A material change will be noted on this page.</p>\n        <p><strong>TNAADO Inc.</strong>. Privacy Officer<br>1050 King Street West<br>Toronto, Ontario, Canada&nbsp;M6K&nbsp;0C7<br><a href=\"/cdn-cgi/l/email-protection#dcb0b9bbbdb09ca8b2bdbdb8b3f2bfbd\"><span class=\"__cf_email__\" data-cfemail=\"076b6260666b47736966666368296466\">[email&#160;protected]</span></a></p>\n\n        <p class=\"u-stamp\">See also: <a href=\"https://tnaado.ca/privacy\">universal privacy policy</a> &middot; <a href=\"/contact\">contact</a></p>\n\n      </div>\n    </div>\n  </section>\n\n</main>\n\n<div class=\"chrome-foot\" data-chrome-foot>\n  <button class=\"footpull\" type=\"button\" data-footsheet-pull\n          aria-expanded=\"false\" aria-controls=\"footSheet\">\n    <span class=\"footpull__rule\" aria-hidden=\"true\"></span>\n    <span>Site directory &amp; contact</span>\n    <span class=\"footpull__caret\" aria-hidden=\"true\">&#9652;</span>\n  </button>\n\n  <div class=\"footsheet\" id=\"footSheet\" data-footsheet\n       role=\"dialog\" aria-modal=\"false\" aria-label=\"Site directory and contact\">\n    <button class=\"footsheet__close\" type=\"button\" data-sheet-close\n            aria-label=\"Close the directory\">&times;</button>\n\n    <footer class=\"footdir\" role=\"contentinfo\">\n      <div class=\"footdir__inner\">\n        <div class=\"footdir__grid\">\n          <div class=\"footdir__brand\">\n            <a href=\"/\" aria-label=\"TNAADO, home\">\n              <img class=\"footdir__logo\" src=\"/assets/brand/tnaado-footer-logo.png\"\n                   alt=\"TNAADO\" width=\"375\" height=\"80\" loading=\"lazy\" decoding=\"async\">\n            </a>\n            <p class=\"footdir__tag\">A media and technology firm in Toronto.</p>\n            <address class=\"footdir__addr\">1050 King Street West<br>Toronto, Ontario &middot; Canada</address>\n          </div>\n\n          <div class=\"footdir__col\">\n            <h2>Technology</h2>\n            <ul>\n              <li><a href=\"/technology\">What we build</a></li>\n              <li><a href=\"/web-design-toronto\">Websites</a></li>\n              <li><a href=\"/ecommerce-website-design-toronto\">Online stores</a></li>\n              <li><a href=\"/shopify-development-toronto\">Shopify</a></li>\n              <li><a href=\"/custom-software-toronto\">Custom software</a></li>\n              <li><a href=\"/ios-app-development-toronto\">iPhone apps</a></li>\n              <li><a href=\"/stack\">The stack</a></li>\n              <li><a href=\"https://tools.tnaado.ca\" target=\"_blank\" rel=\"noopener\">Free calculators &amp; utilities</a></li>\n            </ul>\n          </div>\n\n          <div class=\"footdir__col\">\n            <h2>Media</h2>\n            <ul>\n              <li><a href=\"/media\">What we shoot</a></li>\n              <li><a href=\"/brand-video-toronto\">Brand video</a></li>\n              <li><a href=\"/product-photography-toronto\">Product photography</a></li>\n              \n            </ul>\n          </div>\n\n          <div class=\"footdir__col\">\n            <h2>Apps</h2>\n            <ul>\n              \n              <li><a href=\"https://apps.tnaado.ca\" target=\"_blank\" rel=\"noopener\">All apps</a></li>\n              <li><a href=\"https://apps.apple.com/ca/app/id6784115836\" target=\"_blank\" rel=\"noopener\">Mr. Indecisive</a></li>\n              <li><a href=\"https://apps.apple.com/ca/app/id6784010543\" target=\"_blank\" rel=\"noopener\">The Dispatch</a></li>\n            <li><a href=\"https://apps.apple.com/ca/app/id6804105396\" target=\"_blank\" rel=\"noopener\">Find The Title</a></li>\n            </ul>\n          </div>\n\n          <div class=\"footdir__col\">\n            <h2>The firm</h2>\n            <ul>\n              \n              <li><a href=\"https://portfolio.tnaado.ca\" target=\"_blank\" rel=\"noopener\">Portfolio</a></li>\n              <li><a href=\"/firm\">About</a></li>\n              <li><a href=\"/office\">The office</a></li>\n              <li><a href=\"/team\">Team</a></li>\n              <li><a href=\"/testimonials\">Testimonials</a></li>\n              <li><a href=\"/faq\">FAQ</a></li>\n              <li><a href=\"/sister\">Sister firm</a></li>\n              <li><a href=\"/contact\">Contact</a></li>\n            </ul>\n          </div>\n        </div>\n\n        <p class=\"footdir__legal\">\n          <a href=\"/cdn-cgi/l/email-protection#52313d3c2633312612263c3333363d7c3133\"><span class=\"__cf_email__\" data-cfemail=\"40232f2e3421233400342e2121242f6e2321\">[email&#160;protected]</span></a> &middot;\n          <a href=\"/privacy\">Privacy</a>\n        </p>\n      </div>\n    </footer>\n  </div>\n</div>\n\n<script data-cfasync=\"false\" src=\"/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js\"></script><script src=\"/js/chrome.js\"></script>\n\n<script type=\"module\" src=\"https://static.cloudflareinsights.com/beacon.min.js/vce701823e78c4301a35b7e07294d87301792088814092\" integrity=\"sha512-UKNk8GbxkABxKcXYuLkO16EleLGUkcvJWtpSNmExE0Too3ZaFAxTscNWEc1OdAv5/BikHawapSCaiD2XCmp+Bw==\" data-cf-beacon='{\"version\":\"2024.11.0\",\"token\":\"0b7bdb5a0beb425991aedb69d5004f89\",\"r\":1,\"spa\":2}' crossorigin=\"anonymous\"></script>\n</body>\n</html>\n",
  "source_sha256": "0cd712e9dbf50a62433ba05855ce51263e1db6b7313fb97c3a6fd30cf80233d9",
  "text": "Legal\n\nPrivacy policy.\n\nEffective January 30, 2026. Last updated August 22, 2026. This policy covers service.tnaado.ca, the site where clients reach TNAADO Inc. about technology, media and consulting work. The media site and the consumer apps, including The Dispatch, are governed by the universal policy at tnaado.ca/privacy.\n\nOn this page\n\nS.01Scope\n\nS.02What you tell us\n\nS.03What is collected automatically\n\nS.04Cookies and local storage\n\nS.05Analytics\n\nS.06Booking a call or a visit\n\nS.07Spam and abuse controls\n\nS.08The on-site assistant\n\nS.09Third parties, named\n\nS.10What this site does not do\n\nS.11Retention\n\nS.12Your rights\n\nS.13Where the data sits\n\nS.14Changes and contact\n\nS.01 Scope\n\nThis policy explains how TNAADO Inc. (“TNAADO”, “we”, “us”) collects and handles personal information through service.tnaado.ca. TNAADO Inc. is a Canadian company at 1050 King Street West, Toronto, and this site is governed by Canada’s Personal Information Protection and Electronic Documents Act (PIPEDA), applicable provincial privacy statutes, and equivalent regimes where they apply to you.\n\nIt covers this site only. Our media property, our newsroom and our consumer apps are separate systems with separate databases, and they are covered by the universal policy at tnaado.ca/privacy.\n\nS.02 What you tell us\n\nThe only form on this site that collects anything about you is the booking form. When you use it we store what you type: your name, email address, and optionally your company, phone number and message, together with which service you selected, the half-hour slot you chose, and the time zone your browser reports so the confirmation shows you the right clock time.\n\nNothing on this site asks for sensitive personal information, and nothing on it takes a payment. If you email or call us instead, we keep that correspondence in the ordinary way any business keeps its mail.\n\nS.03 What is collected automatically\n\nEvery visit produces one pageview record: the path you looked at, the referring address if there was one, your browser’s user-agent string, whether the device is a phone, tablet or desktop, and how many seconds the page was actually visible. Your IP address and a coarse location derived from it are added by our server, not by your browser.\n\nIf you arrive from an advertisement or a campaign link, the campaign parameters in that address are recorded with the visit: the utm_ values, and whichever click identifier the advertising platform attached: Google Ads (gclid, gbraid, wbraid), Microsoft Ads (msclkid) or Facebook (fbclid). If you then book, those values are attached to the booking, so we can tell which advertisement produced an enquiry.\n\nS.04 Cookies and local storage\n\nWe set one cookie of our own. tn_vid holds a randomly generated identifier, lasts one year, and is first-party and SameSite=Lax: it lets us see that two pageviews came from the same browser without knowing who you are, and it is not readable by any other website. Where campaign values are held for later, they are held in a second first-party cookie, tn_attr. Neither is an advertising cookie and neither follows you off this site.\n\nGoogle Analytics sets its own cookies, described in S.05. The booking form also keeps the list of free slots in your browser’s sessionStorage for 45 seconds so that changing service does not re-request it; that cache holds no personal information and is gone when you close the tab.\n\nYou can clear or block all of the above in your browser settings. If you block them the site still works; the booking form still books.\n\nS.05 Analytics\n\nThese are separate systems.\n\nGoogle Analytics 4, property G-Y561C98Y8Q. Google receives the pageview and sets its own cookies. It is used for aggregate reporting: which pages get read, which campaigns bring people in. The same tag also reports to our Google Ads account, conversion ID AW-17175265494, so an advertisement can be credited with the enquiry it produced. Google’s own handling is described in their privacy policy, and you can opt out with their browser add-on.\n\nOur own pageview record. One request per visit to site.tnaado.ca/api/collect, a TNAADO endpoint, which writes the fields listed in S.03 into our own database. It runs on our infrastructure and the row is not shared with anyone.\n\nRequests our own system identifies as coming from a bot or crawler are discarded rather than recorded.\n\nS.06 Booking a call or a visit\n\nThe booking form is served by Supabase, which hosts our database and the two functions behind it: one that lists free slots, one that books one. Booking writes a row holding the fields in S.02, the slot, its status, and the page you booked from.\n\nBooking also creates a real event in a Google Calendar belonging to the person you are meeting, with you added as an attendee. That is how the invitation reaches you: Google emails it to the address you gave. A call receives a Google Meet link in that invitation; a booked visit to the office receives the street address and no video link. Cancelling or removing yourself from the event is done from the invitation in your own calendar, and you can ask us to delete the booking outright.\n\nYour enquiry is also forwarded once to TNAADO’s own client-enquiry system at site.tnaado.ca, so that a real person sees it rather than only a calendar entry. That system is ours, it is not a third-party CRM, and the enquiry is not sent to our billing systems.\n\nS.07 Spam and abuse controls\n\nThe booking form is protected by Cloudflare Turnstile. Turnstile runs a challenge in your browser and issues a token; we send that token and the IP address the request came from to Cloudflare to be verified. Cloudflare’s handling is covered by its own privacy policy.\n\nWe also rate-limit bookings. Doing so means recording the IP address a booking request came from, for the length of the limiting window, in a table used for nothing else. Without it a single script could take every appointment in the calendar.\n\nS.08 The on-site assistant\n\nThe home page offers an assistant that answers questions about the firm. What you type into it is sent to one of our own Supabase functions to generate a reply. Do not put confidential or sensitive information into it: if something needs to be handled carefully, email or call us so it can be.\n\nS.09 Third parties, named\n\nThese are all of them, and what each one is for:\n\nVercel: hosts and serves the site.\n\nCloudflare. DNS and content delivery in front of it, and Turnstile on the form.\n\nSupabase: the database and the functions behind the booking form and the assistant.\n\nGoogle. Analytics and Google Ads conversion measurement; Calendar and Meet for bookings, including delivery of the invitation email; and Google Fonts, which your browser requests directly, so Google sees the request.\n\njsDelivr: a public code CDN that serves one JavaScript library to the home page; it sees the request for that file.\n\nEach is bound by its own terms and by confidentiality where a contract applies. Beyond these, we disclose personal information only where the law requires it: a court order or a regulatory request: or in connection with a merger or transfer of the business, with notice where that is reasonably practicable.\n\nS.10 What this site does not do\n\nThis site does not sell or rent your data. It carries no advertising: no ad network, no ad units, no remarketing pixel from a social platform. Visits are reported to Google Ads for conversion measurement, described in S.05. It takes no payment, so it never sees a card number. It has no login, so there is no account and no password. It does not add you to a mailing list: booking a call subscribes you to nothing.\n\nS.11 Retention\n\nEnquiries and bookings are kept while the conversation or engagement is live, and afterwards only as long as needed for our legal, tax and accounting obligations, then destroyed. Rate-limit records are short-lived by design. Analytics records are kept in aggregate. You can ask us to delete your enquiry at any time and we will, subject to anything we are required to retain.\n\nS.12 Your rights\n\nSubject to applicable law you may ask us for a copy of the personal information we hold about you, ask us to correct it, ask us to delete it, withdraw consent where consent is what we relied on, and complain to a privacy regulator: in Canada, the Office of the Privacy Commissioner. Write to [email protected] and say which of those you want; we do not require a particular form of words.\n\nS.13 Where the data sits\n\nOur database is hosted in Canada. Some of the providers named in S.09 operate globally and may process data outside Canada, principally in the United States. Where that happens we rely on those providers’ contractual and organisational safeguards, which are intended to give comparable protection. Transmission to and from this site is over HTTPS with current TLS. No transmission over the internet is perfectly secure; do not send documents you would not want intercepted over a network you do not trust.\n\nS.14 Changes and contact\n\nWhen this policy changes, the current version is posted here and the “last updated” date above changes with it. A material change will be noted on this page.\n\nTNAADO Inc.. Privacy Officer\n\n1050 King Street West\n\nToronto, Ontario, Canada M6K 0C7\n\n[email protected]\n\nSee also: universal privacy policy · contact",
  "text_sha256": "2dae0c3cc10937e312d65bdb3a955b44028f6b8598425eaaa5bf690fa0553da4",
  "extraction": "main text, whitespace normalized"
}
