← Back to MEPCalc

Privacy policy

Version: 1.1Last updated: 2026-04-26

The 60-second summary

  • • We collect the minimum needed to contact you about MEPCalc.
  • • We never sell your data, ever.
  • • We use Supabase, Resend, Mailchimp, Cloudflare, Google Analytics, Contentsquare, PostHog, and Vercel as processors — details below.
  • • You can ask us to delete your data any time: privacy@mepcalc.com.
  • • Marketing emails are optional and opt-in only. Launch notification is considered service communication.
  • • This policy covers UK GDPR, EU GDPR, CCPA/CPRA, PIPEDA (Canada), and the Australian Privacy Act.

1. Who we are

MEPCalc ("we", "us") provides engineering calculation software for MEP (mechanical, electrical, plumbing) professionals. We are the data controller for personal data processed via mepcalc.com.

Privacy contact: privacy@mepcalc.com

2. What we collect (waitlist phase)

MEPCalc is currently in a controlled rollout. Account creation is invite-only. When you join the waitlist we collect:

3. Why we collect it (lawful basis)

PurposeLawful basis (UK/EU GDPR)
Contact you when MEPCalc is ready for you to useLegitimate interest — you asked to be contacted
Segment / prioritise invites by discipline or locationLegitimate interest — product rollout management
Send occasional product updates and launch newsConsent — opt-in checkbox on the form
Detect abuse, rate-limit, block disposable addressesLegitimate interest — keeping the service functional
Site analytics + product analytics (Google Analytics, PostHog, Contentsquare)Consent — cookie banner accept

4. How long we keep it

Waitlist entries are kept until you ask us to delete them or until your invite expires without being redeemed (in which case we delete after 12 months). GDPR request records are retained for 6 years per UK ICO guidance. Analytics data follows each provider's default retention (GA4: 2 months standard / 14 months configured; Contentsquare: 13 months; PostHog: 365 days for product events, 30 days for session replays).

4a. What product analytics specifically captures (GDPR Art. 13)

When you grant analyticsconsent, PostHog (EU cloud, Frankfurt) records interactions with the application so we can understand how the product is used and fix what doesn't work. Specifically:

PII protection: URL parameters that may contain sensitive tokens (email, token, code, session_id,address) are scrubbed before any event leaves your browser. Reset-password and update-password URLs are truncated so reset tokens never reach PostHog.

4b. Error tracking

We capture unhandled JavaScript errors and unhandled promise rejections that occur during your session. This is essential for us to spot and fix bugs that would otherwise be invisible to us.

5. Who processes your data (sub-processors)

ProviderPurposeLocation
VercelWeb hosting, API routing, edge functions, scheduled cronsGlobal / Singapore (sin1) runtime
Supabase (self-hosted)Primary database, authentication, file storageEU operator infrastructure
Upstash (via Vercel KV)Rate limiting on the waitlist form and key API endpointsSingapore
ResendTransactional email — signup confirmation, password reset, waitlist confirmation, daily digestEU
Cloudflare TurnstileAnti-bot challenge on the waitlist formGlobal
Cloudflare DNSDomain Name System resolution for mepcalc.comGlobal
PostHog (EU Cloud)Product analytics, autocapture, session replay (input-masked), feature flags — consent-gatedFrankfurt, Germany
Google Analytics 4Site usage measurement — consent-gatedUSA
ContentsquareSession replay and heatmaps on landing and privacy pages only — consent-gatedEU / France
Mailchimp (Intuit)Marketing email audience for users who opt inUSA
StripePayment processingGlobal (Stripe-hosted; we do not see card data)
Google Workspace (Gmail + Drive)Our internal mailbox infrastructure (support@, privacy@, etc.) and weekly waitlist CSV export destination (Drive)USA / EU
GitHubSource code repository (private)USA

International transfers to the USA rely on Standard Contractual Clauses or the EU-US Data Privacy Framework where applicable. We review our sub-processor list at least annually. A standalone, procurement-friendly version of this register lives at /legal/sub-processors.

6. Cookies and similar technologies

Cookies fall into four categories. Essential cookies load unconditionally; all others require your consent via our cookie banner.

CookieProviderCategoryPurposeRetention
cf_clearanceCloudflareEssentialTurnstile bot challenge on waitlist formSession
cc_cookieMEPCalc (via vanilla-cookieconsent)EssentialStores your consent choices so the banner doesn't reprompt6 months
_ga, _ga_KTRT9K9SDBGoogle Analytics 4AnalyticsAnonymised site usage measurement2 years
ph_*_posthogPostHog (EU)AnalyticsProduct analytics, autocapture of clicks/forms, session replay, feature flag distinct ID1 year
_cs_id, _cs_s, _cs_cContentsquareUX ResearchSession replay and heatmap analytics13 months

Cookies we plan to add

Once our Meta business account is active, we plan to add the Meta Pixel for ad attribution and retargeting (_fbp, _fbc cookies, marketing category, 90-day retention). The cookie banner will reprompt when this category is added so you can choose again.

7. Your rights

Regardless of jurisdiction you have the right to:

To exercise any of these rights, email privacy@mepcalc.com. We aim to respond within 30 days.

California residents (CCPA / CPRA)

You additionally have the right to:

Canada (PIPEDA) & Australia (Privacy Act 1988)

Same access, correction, and withdrawal-of-consent rights apply. Canadian complaints may be directed to the Office of the Privacy Commissioner of Canada; Australian complaints to the Office of the Australian Information Commissioner.

8. Children

MEPCalc is a professional engineering tool. Our services are not directed to children under 16 and we do not knowingly collect data from them. If you believe we have inadvertently collected data from a minor, email privacy@mepcalc.com and we will delete it.

9. Security

We use TLS everywhere, Supabase Row-Level Security to restrict data access to service-role contexts only, rate limiting, Turnstile bot challenges, and strong access controls on all admin tooling. The waitlist table is not exposed to anonymous database clients — only our server-side routes can read or write to it.

10. Changes to this policy

When we make material changes, we bump the version number, update the "last updated" date at the top of this page, and if the change affects the cookies we use, the cookie banner will reprompt you to consent again. Non-material changes (typo fixes, clarifications) do not trigger a reprompt.

11. Supervisory authorities

12. Change log