This Privacy Policy describes how James.dev ("this website", "we", "us") collects, uses, and protects information when you visit or use any part of this website — including the portfolio, technical blog, tutoring service, and tech shop.
This website is operated by James Mwangi, a Full-Stack Developer and Cybersecurity Specialist based in Nairobi, Kenya.
By using this website, you agree to the practices described in this policy. If you do not agree, please discontinue use of the site.
Information you provide directly
When you submit a contact form, booking request, or shop order on this site, you may provide:
- Your name and email address
- Your phone number (for WhatsApp contact and order delivery)
- Your delivery location (for shop orders)
- A message, project description, or learning goal
- Your selected service, product, or enquiry type
This information is used solely to respond to your enquiry, process your order, or deliver your tutoring session. It is not sold, rented, or shared with third parties except as described in this policy.
Information collected automatically
Like most websites, we may automatically collect certain technical data when you visit, including:
- Browser type and version
- Device type and operating system
- Referring URL and pages visited
- Approximate location at country or region level (derived from IP address)
- Time and duration of visits
This data is used only for analytics and to improve the site experience. It is not linked to personally identifiable information.
Blog post data (admin users only)
If you use the blog admin panel, posts you write are stored in your browser's local storage and optionally synced to JSONBin.io if you configure cloud sync. No blog post data is collected by this website's owner from admin users — it goes directly between your browser and JSONBin.
This website uses cookies — small text files stored in your browser — to improve your experience and to enable advertising functionality.
Types of cookies used
| Cookie Type | Purpose | Can be disabled? |
|---|---|---|
| Essential | Remembers your dark/light mode preference (jm_theme). Required for the site to function as expected. |
No — essential for functionality |
| Analytics | Google Analytics (if enabled) collects anonymised data about how visitors use the site — pages visited, time on site, traffic sources. | Yes — via browser settings or Google opt-out |
| Advertising | Google AdSense uses cookies to serve relevant advertisements based on your browsing behaviour across this and other sites. | Yes — see AdSense section below |
| Local storage | Blog admin panel stores posts in browser local storage (jm_blog_v3). Cloud sync config stored as jm_cloud_cfg. |
Yes — clear browser storage at any time |
Managing cookies
You can control or delete cookies through your browser settings. Note that disabling cookies may affect site functionality — in particular, your theme preference will not be saved.
To opt out of personalised Google advertising, visit google.com/settings/ads. To opt out via the industry tool, visit aboutads.info.
This website uses Google AdSense to display third-party advertisements. AdSense uses cookies and web beacons to serve ads based on your prior visits to this and other websites.
What Google collects
Google may use the DoubleClick cookie and similar technologies to serve interest-based advertisements. Google's use of advertising cookies enables it and its partners to serve ads to you based on your visit to this site and other sites on the internet.
• Visit Google Ads Settings to opt out of personalised advertising
• Visit aboutads.info/choices for the industry-wide opt-out tool
• Install the Google Analytics Opt-out Browser Add-on
We do not have access to or control over the cookies used by Google or other third-party advertisers. We comply with Google's publisher policies and applicable advertising regulations.
Ad slots may appear in the technical blog sidebar and tech shop pages. These slots are currently placeholders and will be activated upon AdSense account approval.
This website integrates with the following third-party services. Each is governed by its own privacy policy:
- Google Analytics — website traffic analysis. Privacy Policy ↗
- Google AdSense — display advertising. Privacy Policy ↗
- Google Fonts — typography loaded from Google's servers. Privacy Policy ↗
- JSONBin.io — optional cloud storage for blog posts (admin-configured only). Privacy Policy ↗
- WhatsApp (Meta) — direct communication and order processing links. Privacy Policy ↗
- M-Pesa (Safaricom) — payment processing for tutoring and shop orders. Governed by Safaricom's terms and privacy policy.
We do not share personally identifiable information with any third party except where necessary to process a service you have explicitly requested (e.g., sending your order details via WhatsApp to arrange delivery and M-Pesa payment).
Depending on your location, you may have rights under applicable data protection law — including the Kenya Data Protection Act 2019, EU GDPR, or UK GDPR. These rights may include:
- Right of access — to request a copy of personal data we hold about you
- Right to rectification — to correct inaccurate or incomplete data
- Right to erasure — to request deletion of your personal data
- Right to withdraw consent — to opt out of processing at any time
- Right to opt out of personalised advertising — see the AdSense section above
- Right to data portability — to receive your data in a portable format
To exercise any of these rights, contact us using the details in the Contact section below. We will respond within 30 days.
Intellectual property
All content on this website — including blog articles, project descriptions, code examples, design, and educational materials — is the intellectual property of James Mwangi unless otherwise stated. You may share links to content but may not reproduce, copy, or republish it without written permission.
Acceptable use
You agree not to use this website or its services to:
- Violate any applicable law or regulation
- Submit false or misleading information through any form
- Attempt to gain unauthorised access to any part of this website or its systems
- Engage in any activity that disrupts or damages the site or its users
Disclaimer of warranties
Content on this website is provided for informational purposes only. While we strive for accuracy, no warranty is made as to the completeness, reliability, or suitability of any information for any particular purpose. Technical blog articles reflect the author's experience and understanding at the time of writing.
Changes to this policy
We may update this Privacy Policy from time to time. The "Last updated" date at the top of this page will reflect any changes. Continued use of the site after changes constitutes acceptance of the updated policy.
Ordering
All shop orders are placed via WhatsApp (+254 711 618 115). By placing an order, you confirm that the product and delivery details you have provided are accurate.
Payment
Payment is via M-Pesa. Payment details (till number or paybill) are sent via WhatsApp on order confirmation. Payment is required before dispatch.
Delivery
- Nairobi: Same day or next-day delivery depending on time of order and product availability
- Nationwide: 3–5 business days via courier
- Delivery cost is communicated at time of order confirmation and varies by location
Product availability
All prices and availability are subject to change. If a listed product is out of stock, we will notify you promptly and offer a full refund or an alternative.
Returns & refunds
Return requests must be submitted within 7 days of delivery via WhatsApp. Items must be in their original, unused condition. Refunds are processed via M-Pesa within 3–5 business days of the returned item being received and inspected.
Items that have been opened, used, or damaged by the buyer are not eligible for return.
By booking a tutoring session, you confirm that you have read and agree to the following terms.
Academic integrity — non-negotiable policy
This tutoring service is provided exclusively for the purpose of genuine learning, conceptual understanding, and skill development. The tutor will not, under any circumstances:
- Write assignments, essays, or coursework on behalf of a student
- Complete exams, tests, or quizzes on behalf of a student
- Produce work intended to be submitted as the student's own
Any request for the above will result in immediate termination of the session with no refund. This policy exists out of respect for the academic institutions students attend and is binding for all tutoring engagements.
Session booking & cancellation
- Sessions must be booked at least 24 hours in advance
- Cancellations with more than 12 hours' notice receive a full credit for a future session
- Cancellations with less than 12 hours' notice are charged in full
- The tutor reserves the right to reschedule sessions in case of unavailability, with 24 hours' notice
Payment
Tutoring sessions are paid via M-Pesa. Single sessions are paid before the session begins. Monthly packages are paid at the start of each month. No refunds are issued for sessions already delivered.
For any privacy-related enquiries, data access requests, or legal questions regarding this website, please contact:
- WhatsApp: +254 711 618 115
- Contact form: james.dev/#contact
- Location: Nairobi, Kenya
We aim to respond to all privacy and legal enquiries within 30 days.
© 2025 James Mwangi. All rights reserved. This policy was last updated in January 2025.