Privacy Policy.
This policy explains what redactlabs.ca collects, why it is used, who processes it, and the published retention commitments that govern it.
Effective date: 2026-10-05
What this policy covers.
This policy applies to redactlabs.ca, including the contact form, public domain scan, security-report email flow, and operational systems that keep the site available and secure.
RedactLabs Inc. is a Canadian cybersecurity, websites and hosting, and IT consultancy based in Toronto, Ontario. We collect personal information only where it is needed to respond to you, deliver a requested tool or report, run the site, or protect the service from abuse.
The site does not load advertising pixels, retargeting tags, third-party analytics scripts, or marketing cookies, and its own code sets no cookies at all. Pages with forms can load Cloudflare Turnstile to verify that a submission is not automated. The theme switcher stores your light or dark preference in localStorage, and a session-only sessionStorage flag remembers that the intro animation has already played.
The data we handle.
The main collection points are the contact form, the scan tool, and operational logs.
| Surface | What we collect | Why |
|---|---|---|
| Contact form | Name, email address, optional organization, selected service, message, Turnstile token, and a hidden honeypot field. | To respond to enquiries, scope work, protect the form from automated abuse, and deliver the message to the RedactLabs inbox. |
| Public domain scan | The public hostname submitted to /scan/ (or to the /api/mcp agent tools), the scan result, a Turnstile token when configured, a rate-limit counter keyed by your IP address, and, for the full report, the email address you submit, your mailing-list choice, and a truncated IP with the request time. | To deliver the public baseline (the hostname is also sent to MDN HTTP Observatory and Qualys SSL Labs for their public grades), send the verification email and report link, limit abuse, and provide the requested security report. The mailing list is separate and opt-in: you are subscribed only if you tick the consent box on the form, and every marketing send includes an unsubscribe link. |
| Newsletter, waitlist, and resource downloads | Your email address, a Turnstile token, and a truncated IP and timestamp with each request; for resource downloads, a delivery record keyed by a hash of your address. | To confirm the address is yours before anything else is sent (double opt-in for the newsletter and the waitlist), deliver the resource you asked for, and limit abuse. |
| Operational telemetry | PII-redacted audit events with truncated IP ranges; CSP and network-error reports; Cloudflare request logs that include your full IP address, user agent, and referrer; rate-limit counters keyed by IP address; coarse pageview and interaction counts (page path, country, browser class, the referring site’s hostname, and which buttons or links were used — no IP, no full user agent, no cookie or visitor ID); error reports sent to Sentry with headers, cookies, query strings, and IP addresses stripped; and short-retention email-delivery logs that include the recipient address of transactional sends. | To operate the site, investigate errors, enforce rate limits, verify email delivery, and monitor security posture. |
Limited to the request.
We use submitted information to answer the enquiry, deliver the scan result, operate security controls, and maintain the site. Marketing is not bundled into any of that: the mailing list requires a separate, explicit opt-in.
Contact-form submissions are validated server-side, protected by rate limits and a honeypot, verified with Turnstile when configured, then queued for transactional email delivery. The form Worker builds the email payload; the email-consumer Worker sends it through Resend with retry and dead-letter handling.
The scan tool validates public hostnames, rejects local and internal targets, rate-limits public requests by IP, and runs public-surface checks against the submitted domain. The immediate baseline uses direct header checks, MDN Observatory, and a cached SSL Labs lookup. Full reports require an email verification step before the report link is sent. When you confirm a report request, the RedactLabs inbox is also notified with your email address and the domain you scanned, and we may reply to you directly about the findings — a one-to-one reply, not a mailing-list subscription. The RedactLabs mailing list is separate and opt-in: requesting or confirming a report never subscribes you. You are added only if you tick the unchecked consent box on the form, and every marketing send carries a working unsubscribe. Unsubscribing does not affect delivery of a report you have already requested.
Operational logs are used for rate limiting, incident triage, security reporting, and service health. Audit events are designed to avoid raw email addresses, full IP addresses, and free-text message bodies; Cloudflare’s own request logs are the exception, holding full IP addresses for at most 7 days.
Who touches the data.
These are the sub-processors published on the Trust page.
| Sub-processor | Purpose | Data region |
|---|---|---|
| Cloudflare | Edge network, DNS, WAF, Workers, Turnstile bot checks, Workers KV, Queues, R2 object storage, Workers Logs, and Analytics Engine | Global edge; R2 in Eastern North America; KV replicated globally |
| Resend | Transactional email delivery and the mailing-list audience | United States |
| Sentry | Error monitoring for the site’s Workers — headers, cookies, query strings, and IP addresses are stripped before an event is sent | United States or EU (Sentry account region) |
| Microsoft 365 | Internal email, collaboration, document storage | Canada (data residency) |
| Proton Business Suite | Encrypted email, secure file storage, calendar, VPN | Switzerland / EU |
| Proton Pass Business | Credential vaulting and shared secrets | Switzerland / EU |
| GitHub | Source control for Worker templates and tooling | United States |
Personal information may be stored or processed outside Canada, including in the United States by Resend for email delivery and by GitHub, by Sentry depending on the account region, in Switzerland by Proton, and in North America by Cloudflare R2 storage. It may be accessible to authorities under those countries’ laws.
Held briefly. Purged on schedule.
These are the retention commitments published on the Trust page.
- Contact-form enquiries
- Not written to the site’s own storage. The message is relayed by email — Cloudflare Queue, then Resend — to the RedactLabs inbox; the site’s audit log keeps only the event type, the outcome, and a truncated IP. Enquiry emails are kept for 2 years after last contact.
- Audit and security logs
- PII-redacted audit events plus CSP and network-error reports, in Cloudflare R2 (Eastern North America). IPs appear only as truncated ranges (/24 IPv4, /48 IPv6), never full addresses. 30-day retention, then purged.
- Request and delivery logs
- Cloudflare Workers Logs record each request — including the full IP address, user agent, and referrer — and email-delivery lines that include the recipient address. Kept by Cloudflare for at most 7 days, for debugging and abuse investigation.
- Rate limits and pending requests
- Workers KV counters keyed by IP or email address expire on their own within 60 seconds to 24 hours. Unconfirmed report, newsletter, and waitlist requests expire after 24 hours; a scan-report link and its data after 7 days; resource download links after 72 hours.
- Mailing list and newsletter
- Email address only, held in Resend. One-click unsubscribe in every send. Confirmation markers (the address itself) stay in Workers KV for one year, a marker that stops duplicate scan-report emails to the same address for 90 days, and resource-delivery records — keyed by a hash of the address — for one year. Never sold, never shared.
- Client engagement data
- CA-region Microsoft 365 with conditional access. Retained for the engagement plus 7 years for tax and audit, then purged.
PIPEDA rights.
Canadian privacy requests can be sent by email.
Under PIPEDA, you can ask to access personal information we hold about you, ask for a correction, withdraw consent where processing depends on consent, and complain to the Office of the Privacy Commissioner of Canada.
Our Privacy Officer is accountable for how RedactLabs Inc. handles personal information, as PIPEDA and Quebec’s Law 25 require. Contact the Privacy Officer at privacy@redactlabs.ca. General questions can still be sent to contact@redactlabs.ca. For security vulnerability reports, contact security@redactlabs.ca.
If we send a commercial electronic message, we treat CASL as applicable: the message must identify RedactLabs Inc., provide a working contact method, and include an unsubscribe path where the message is subscription or marketing in nature. Transactional replies, verification emails, and requested report links are sent to complete the request you made.