Privacy

Privacy Policy

What information we use, why we use it, and how to contact us about it.

Last updated: 2 November 2026.

1. Who we are

Codewithmhan is a software company based in Accra, Ghana. You can contact us at codewithmhan@gmail.com.

2. Information we collect

Contact form. We ask for your name, email address, and message. Phone number, organization, and area of interest are optional. The form also uses a hidden spam-check field and a Cloudflare Turnstile verification token. Those anti-spam values are not stored in our lead record.

Course enrollment form. We ask for your name, email address, phone number, chosen course, and your required agreement to the Terms and acknowledgement of this Policy. The request also records the country detected by the hosting request and the currency/price shown at submission.

Sankofa demo and contact forms. These forms send their details to Codewithmhan for follow-up. The demo form can include your name, school, email, optional phone number, approximate learner count, preferred contact time, message, and selected plan, audience, and currency. The contact form can include your name, school, role, email, optional phone number, plan of interest, preferred contact time, message, and pricing region.

Sankofa sign-in and password-reset previews. These screens ask for an email address and, on sign-in, a password and optional “Remember me” choice. They are previews only: they do not authenticate, send a reset email, or save the values.

Automatic information. The site uses the country code supplied by its hosting request to choose a default currency and stores country, currency, and pricing-region preferences in cookies. The form rate limiter temporarily uses a request IP and normalized email address in process memory; it does not add IP addresses to submission records. If configured, the site may also pass the request IP to Cloudflare for verification. Admin sign-in credentials are handled by Supabase Auth. Vercel Analytics is included on the site. Optional Google Analytics loads only if configured and accepted. We do not have a newsletter form.

3. How we use information

We use information you submit to respond to questions, review course enrollment requests, arrange product demonstrations, and share relevant follow-up or approved payment instructions when configured. We use country and currency preferences to show prices, and use spam checks and request validation to protect the forms. Analytics, where enabled, helps us understand site use and improve the site.

We use this information for the service or request you chose, to take steps before providing that service, and to protect the site. We ask for separate acceptance of optional Google Analytics. We do not treat an enquiry as permission to send unrelated marketing.

4. Who we share information with

  • Vercel: hosts the site and provides the Vercel Analytics component.
  • Supabase: stores contact messages, Sankofa demo requests, course enrollments, and limited email-delivery metadata when configured.
  • Cloudflare: provides Turnstile spam verification when configured. The site may send the request IP with the verification request.
  • Google: provides Google Analytics only when a measurement ID is configured and you accept optional analytics. Google Fonts are requested by the build and served as site assets; the browser code does not load fonts directly from Google.
  • Resend: may deliver applicant confirmations and private team notifications when configured. It sends from the configured sender address. Contact notifications go to configured team recipients; demo and enrollment confirmations may also go to the email address you submitted. Applicant messages remain disabled until the sender domain is verified.
  • Your email and messaging providers: when you choose an email or WhatsApp link, the selected app or service handles the message you send.

We do not sell personal data. This site does not process payments. We use request IP information only for rate limiting or CAPTCHA verification; it is not stored in submission records.

5. Storage and international transfers

When the database is configured, contact messages, demo requests, and course enrollment requests are stored in the contact_messages, demo_requests, and course_enrollments tables. Email logs contain delivery metadata, not message bodies. If Supabase is not configured, form submissions return an error instead of being saved. The configured project region is not specified in this site's settings. Vercel, Supabase, Cloudflare, Resend, and Google may process information outside Ghana.

6. How long we keep information

We keep enquiry and enrollment records only while they are needed to handle your request or service and for necessary record keeping. The exact retention periods and deletion schedule have not yet been set. We will update this Policy when they are confirmed.

7. Your rights

Under Ghana's Data Protection Act, 2012 (Act 843), you may have rights to access personal information, ask us to correct it, request deletion where applicable, or object to certain uses. To make a request, email codewithmhan@gmail.com. We may need to verify your request before acting on it.

8. Cookies and analytics

Essential preference cookies remember detected country, selected currency, and Sankofa pricing region. The analytics-consent cookie saves your accept or decline choice for one year. Google Analytics loads only when it is configured and you accept; it may then set its own analytics cookies. Vercel Analytics is present independently of that choice and depends on the Vercel deployment integration.

You can change your Google Analytics choice by clearing the analytics-consent cookie in your browser. The consent banner will then appear again. See our Cookie Notice for more details.

9. Security

Production site URLs are required to use HTTPS. Row-level security limits public visitors to submission inserts and active public catalogue reads; visitors cannot read or change private submission records. Admin access requires Supabase Auth and an active admin membership. Forms validate input, check a honeypot, and verify Turnstile when it is configured. These measures reduce risk but cannot guarantee complete security.

10. Children and school data

This company website is not directed at children. School administrators may submit their own contact details and school information when asking about Sankofa. The public website does not collect or store student records through its forms. Any student data handled through the Sankofa School Management System is covered by a separate written agreement with each school.

11. Changes and contact

We may update this Policy when our site or services change. The latest update date will appear above. For privacy questions or requests, email codewithmhan@gmail.com.

WhatsApp