Skip to main content
SYNCHAIN

Synchain Privacy Policy (Plain-Language Version)

This document explains what Synchain does with your personal information: what data we collect, why we collect it, who we share it with, where it is transferred, and what rights you have and how to exercise them.

This policy covers the whole site, including the public pages and the signed-in app. Everything described here matches what the code actually does; when the code changes, this policy is updated with it.

Last updated:

Data controller

Synchain is developed and operated by one individual, not a company. That individual is the controller for every processing activity described in this policy and also carries the duties of the person in charge of the protection of personal information under Quebec's Law 25; every request is handled by that person directly.

  • Controller and person in charge of the protection of personal information: Leping Wang, Quebec, Canada.
  • For privacy questions, requests or complaints, write to contact@synchain.ca.
  • Requests concerning personal information are answered within 30 days. This deadline is the one set by PIPEDA and Law 25.

Categories of data collected

Almost all of the data below is data you provide yourself. Only two categories — diagnostics and website measurement — are collected automatically, and each is described in its own section.

  • Account information: email address, display name, avatar, interface language and last sign-in time.
  • Project content: the files you upload (the bytes live in Cloudflare R2; the database keeps only the file name, size, type and duration), discussion posts, calendar events, member roles and invitation records. Held separately for each project and used to run the collaboration itself — storage, display, collaboration and access control. The operator looks at it only when handling a report or when the law requires it.
  • Real-time audio and video: relayed live between participants through relay servers (the provider is named in the processors section below), never stored and never recorded. Chat content in Creative Space is not read by any automated process.
  • Diagnostics: when the app reports an error we record the error message, the stack trace, the page path and title, the trail of your actions just before the failure, your browser and operating system, window size, interface language and — if you are signed in — your account identifier. All of it goes through an automatic pass before it is written: email addresses, access tokens, invitation links and other high-entropy strings are removed. Your IP address is kept only as a salted HMAC hash, used for anti-abuse counting; the plain IP address never enters the database.
  • Feedback: the description you write, plus a screenshot of the current page taken automatically when the feedback panel opens. That screenshot may contain other people's names or private messages, and you can retake or delete it before you send. We also keep the images you attach, the path and title of the page you sent it from, and information such as your browser, operating system and window size.
  • Website measurement: visit and page-view statistics, described in the website measurement section below.

Purposes and legal bases

Every processing activity has a clear legal basis. Where the law requires prior consent, the processing happens only once consent is given; where the law does not require it, this policy tells you plainly and you can object at any time.

  • Providing the service: account management, project management, file storage, real-time communication and notification email. Basis: performance of the service agreement.
  • Keeping the service stable and secure: error diagnostics, anti-abuse rate limiting and the human-verification challenge at sign-in. Basis: the operator's legitimate interest in a service that stays up, which is also a purpose a reasonable person would consider appropriate under PIPEDA.
  • Optional AI features: the daily project summary, "AI formatting" in discussions, feedback summaries and grouped-error summaries. Basis: performance of the agreement for the features you switch on yourself, and legitimate interest for fault triage. These features send the material they need to the language model provider listed below.
  • Usage analytics: website measurement. Basis: your consent in the European Economic Area, the United Kingdom, Switzerland and Quebec; elsewhere, implied consent supported by this notice, which you can withdraw at any time.
  • Synchain does not sell or rent personal information, runs no advertising, builds no user profiles, and does not use your data for cross-site targeting.

Website measurement (Google Analytics 4)

Synchain uses Google Analytics 4 as a measurement tool, counting visits, page views and language versions. It is tightly configured so that it cannot serve advertising purposes, and so that anything that could be linked back to a particular project never leaves your browser.

  • Coverage: every page on the site reports a page view event, including the signed-in app pages (whose paths are redacted as described in the next point); only the internal /admin area reports nothing at all.
  • What is sent: each event carries only the redacted page path, the page title, the page you came from within the site, and the interface language you chose here. The request itself also carries your IP address and browser details to Google — the IP is used to work out a country or region, never appears in our reports and never enters our database. Your account, your files and your project content are never sent.
  • Path redaction: before anything is sent, project identifiers are replaced with [id], invitation tokens with [token], only the view and error query parameters are kept, and the URL fragment (everything after the hash sign) is dropped. Redaction is recomputed on every navigation, not only on page load.
  • Advertising features off: Google Signals, ad personalisation, ad storage and ad user data are all disabled, redaction of ad data is enabled, and the content security policy allows no advertising domain.
  • Consent Mode v2: in the European Economic Area, the United Kingdom, Switzerland and Quebec, analytics storage is denied by default. Until you give explicit consent in the banner, no _ga cookie is written and no identifier is created; if you decline, the site works exactly as before and only the measurement stops.
  • Domain-specific handling: on the synchain.cn domains Google Analytics is not loaded at all. Cloudflare injects a cookieless Web Analytics beacon at the edge instead, and that beacon writes no cookie and builds no per-visitor identifier.
  • Retention: the GA4 property is set to delete user-level and event-level data after 2 months; only aggregate reports remain after that.
  • How to opt out: clearing this site's cookies and local storage brings the consent banner back; you can also block this site's cookies in your browser, or install Google's official opt-out add-on.

Cookies and local storage

The table below lists everything Synchain itself writes into your browser. Beyond it there are no advertising cookies, no cross-site tracking and no fingerprinting. The only third-party script is the Web Analytics beacon Cloudflare injects on the synchain.cn domains, and it stores nothing at all.

  • Strictly necessary items cannot be switched off — without them sign-in cannot work, or your choice about analytics has nowhere to live. Under ePrivacy rules and Law 25 this category requires no consent: asking permission before recording that you refused would be circular.
  • Functional items store only your preferences. Analytics items are written only where consent applies and you have given it.
  • You can clear these items at any time in your browser settings. Doing so signs you out and resets your preferences to their defaults.
List of stored items
NameCategoryPurposeRetention period
sb-*-auth-token (cookie)Strictly necessaryKeeps you signed in. Written by Supabase Auth, and split into numbered parts when the value is too long.Until you sign out or the session expires
sc_ga_consent (local storage)Strictly necessaryRecords the choice you made in the consent banner (accept or decline) so you are not asked again on every visit. It holds that choice and the time you made it, and no identifier of any kind.180 days; once it expires the choice counts as unmade and the banner comes back
lang (cookie)FunctionalRemembers the interface language you chose.1 year
sc_new_account (cookie)FunctionalMarks a first sign-in, which controls whether the welcome message is shown.5 minutes, deleted once used
sc_dismiss_... (local storage)FunctionalRecords the announcement banners or dialogs you closed, and the intros you have already seen.An announcement counts as dismissed for 3 days; an intro stays dismissed until its text changes. The entry itself stays until you clear site data
sc_pending_popup (local storage)FunctionalTemporary marker for the "project created" message, shown only once.Deleted once read
sc_feedback_btn_pos (local storage)FunctionalRemembers where you dragged the feedback button.Until you clear site data
synchain-media-settings (local storage)FunctionalStores your audio and video preferences (bitrate, buffering, noise suppression and so on).Until you clear site data
synchain-bloom-color (local storage)FunctionalStores the dashboard theme colour.Until you clear site data
synchain.files.player.v1 (local storage)FunctionalRecords the position, volume and loop state of the audio you last played (it stores a file ID, not the file name or its contents).Until you clear site data
_ga and _ga_* (cookie)AnalyticsUsed by Google Analytics 4 to tell visits and sessions apart. Not written before consent, and not loaded on the synchain.cn domains.2 years in the browser; event data is deleted in GA4 after 2 months

Processors and cross-border transfers

The providers below process data on our instructions and may not use it for their own purposes. Some of them are located outside Canada, so the data crosses borders.

  • Supabase — accounts, authentication and the main database.
  • Cloudflare — object storage for files (R2), DNS and edge delivery, and the human-verification challenge at sign-in (Turnstile).
  • LiveKit — real-time audio and video relay (no recording).
  • Vercel — hosting and delivery of the site.
  • Resend — transactional email (verification messages, feedback receipts).
  • Google — Google Analytics 4 measurement data, processed in the United States.
  • An OpenAI-compatible language model provider — used in the four cases below, each sending only the data it needs: the daily project summary (discussion titles and excerpts, file names, event titles); "AI formatting" in discussions (the text you are editing); feedback summaries (your description and the page it was sent from); and grouped-error summaries (the redacted error message and stack trace). Creative Space chat content is never sent to this service.
  • Cross-border transfers: data may be transferred through the providers above to the United States and other countries. Before each service was adopted, the level of protection the destination gives personal information was assessed as Law 25 requires, and transfers rest on each provider's data protection terms, including the EU standard contractual clauses where they apply. Wherever the data sits, under PIPEDA the controller remains accountable for it.

Retention periods

Personal information is kept only while the purpose it was collected for still exists, and is deleted or anonymised once that purpose ends.

  • Account and project data: kept for as long as the account exists. Deleting a project deletes its content with it; closing an account deletes the account record and the content that belongs to that account alone.
  • Diagnostics: kept while the fault they relate to is still being fixed, accumulated by group. They contain no plain IP address and no credentials (both are removed before writing).
  • Feedback: the report, its screenshot and any images you attached are kept for as long as the issue is still worth referring to. There is no automatic expiry; you can ask at any time for a specific report and its images to be deleted.
  • Website measurement: user-level and event-level data is kept in GA4 for 2 months.
  • Email: delivery records are kept by the email provider on its own cycle, and Synchain keeps no separate copy of message bodies.
  • Provider backups may hold a copy for a short time after deletion, and are overwritten in the normal rotation.

Your rights and how to exercise them

Send your request to contact@synchain.ca from the email address linked to your account, stating clearly what you want done. There is no charge, and you will not be asked for more identification than is needed to confirm it is you.

  • Access: obtain a copy of the personal information Synchain holds about you, and learn which recipients it has been disclosed to.
  • Correction: have inaccurate, incomplete or ambiguous information put right.
  • Deletion: have your account and its data deleted, except where the law requires it to be kept.
  • Portability: receive the computerised personal information you provided to Synchain in a structured, commonly used, machine-readable format (a right under Law 25 as well as the GDPR).
  • Withdrawing consent: where the consent banner applies to you, bring it back and decline — measurement stops and nothing else about the service changes. Elsewhere, use the browser-side opt-out methods described above. You never have to give a reason.
  • Objection and automated decision-making: Synchain makes no automated decisions that produce legal or similarly significant effects on you.
  • Complaint: you can complain to the Office of the Privacy Commissioner of Canada (OPC) or the Commission d'accès à l'information du Québec (CAI); if you are in the European Economic Area or the United Kingdom, to your local supervisory authority. You do not have to contact Synchain first, though we would rather you gave us the chance to put things right.

Security measures

The following controls are implemented in the code:

  • Row-level security in the database: a request without permission cannot reach the rows it covers, even if the application layer has a bug.
  • File access: project files and feedback screenshots are not served from public URLs; both use short-lived pre-signed links. Avatars and project covers are the exception — they sit in publicly readable object storage behind a URL containing a random uuid, with no further authentication.
  • API key encryption: project-level API keys are stored encrypted with AES-256-GCM, and are never kept in clear text.
  • Transport security: the whole site runs over HTTPS, with a strict content security policy (CSP) that names the domains the browser may connect to.
  • Error report pre-processing: credentials and email addresses are stripped automatically before reporting, and IP addresses are hashed.
  • If you find a security vulnerability, email contact@synchain.ca and we will deal with it promptly.

Changes to this policy

The last updated date at the top of this page is the day this policy last changed in substance. Polishing the wording or adjusting the layout does not move it.

  • If a change materially affects how personal information is handled, it will be announced on the site before it takes effect.
  • If a change requires your consent, consent will be asked for again rather than treating the earlier consent as still valid.
  • Archived earlier versions are available on request.

Getting in touch

For any question, request or concern, email contact@synchain.ca. That address reaches the controller directly, and it is the right one for exercising any right, including access, correction and deletion.

For AI agents: a machine-readable documentation index for this site is available at https://www.synchain.ca/llms.txt, and an agent runbook at https://www.synchain.ca/AGENTS.md.