Thank you for using CodeWall ("we," "us," or "our"). This Privacy Policy explains how we collect, use, and disclose information about you when you use our Chrome extension (the "Service"). We are committed to protecting your privacy and providing transparency about our data practices.
By installing and using CodeWall, you agree to the collection and use of information in accordance with this policy.
1. Information We Collect
We collect information in several ways to provide and improve our Service.
a) Information You Provide Directly
- Configuration Data: We store your settings to make the extension work as you've configured it. This includes:
- The list of websites you want to block.
- The difficulty levels of problems you wish to see (Easy, Medium, Hard).
- Your custom-created problem lists and which list is currently active.
- The on/off status of the extension.
- Source Code: We temporarily collect the code you write in the editor to execute it, validate your solutions, and provide AI-powered assistance.
b) Information Collected Automatically
- Browsing Activity: To provide the core functionality of blocking websites, the extension must check the URL of every website you visit against your list of blocked sites. This URL data is processed locally in your browser and is never transmitted to our servers.
- Solution History: When you successfully solve a problem, we store a record of that solution. This includes your code, the programming language used, the problem's title, and the date it was solved. This allows you to review your past work.
- Unlock Timers: When you solve a problem to access a site, we store a temporary timestamp to keep the site unlocked for a specific duration.
c) Payment and Subscription Information
We do not directly collect or store your payment information (like credit card numbers). All payments and subscription management are handled by our third-party payment processor, ExtensionPay. When you upgrade to a Pro account, ExtensionPay may collect information necessary to process the transaction, such as your email address and payment details, which is subject to their own privacy policy. We only receive a confirmation from ExtensionPay that a payment has been successfully made.
2. How We Use Your Information
We use the information we collect for the following purposes:
- To Provide and Maintain the Service: To block the websites you've specified, display coding challenges, and save your settings.
- To Execute and Validate Your Code: To run your code and check it against the problem's test cases to determine if your solution is correct.
- To Provide Premium Features: To enable features for Pro users, such as AI-powered hints, custom problem lists, and solution history.
- To Improve the Service: To understand how users interact with the extension, identify bugs, and plan new features.
3. Information Sharing and Third-Party Services
We do not sell your personal information. However, we share specific data with third-party services to provide the core functionality of the extension.
a) Code Execution (Piston API)
- What is shared: The source code you write in the editor and the selected programming language.
- Why it's shared: Your code cannot be run directly in the browser. We send it to the Piston API, a third-party service that securely executes code in an isolated environment and returns the result to us. This is how we check if your solution is correct.
- Their Privacy: We are not responsible for the privacy practices of the Piston API.
b) AI-Powered Assistance (Google Cloud Functions)
- What is shared: For Pro users, the source code you write in the editor.
- Why it's shared: To provide the "AI Assist" feature, we send your code to our secure backend service running on Google Cloud, which uses Google's generative AI models (Gemini) to analyze your code and provide a hint.
- Their Privacy: Data sent to this service is processed according to Google Cloud's privacy and security policies.
c) Payment Processing (ExtensionPay)
- What is shared: You are redirected to ExtensionPay's secure portal to handle the payment process.
- Why it's shared: To securely process payments for CodeWall PRO without us ever handling or storing your sensitive financial information. ExtensionPay also manages user authentication to verify your Pro status.
- Their Privacy: Your interaction with ExtensionPay is governed by their privacy policy.
4. Data Storage and Security
- Local Storage: Information that is not essential to be synced across your devices, such as temporary site unlock timers, is stored using chrome.storage.local. This data remains on your computer.
- Sync Storage: Your core settings, blocklist, custom lists, and solution history are stored using chrome.storage.sync. This data is managed by Google and automatically synchronized across all devices where you are logged into your Google Chrome account.
- Security: We take reasonable measures to protect your information. However, no electronic storage or transmission method is 100% secure. While we strive to use commercially acceptable means to protect your data, we cannot guarantee its absolute security.
5. User Rights and Data Control
You have control over your data:
- Modifying Data: You can add or remove websites from your blocklist, change your difficulty settings, and create or delete custom problem lists directly within the extension's popup menu.
- Deleting Data: You can clear your data by removing sites from the blocklist or deleting your custom lists. Deleting your entire solution history would require a manual action (e.g., a "Clear History" button, if implemented) or reinstalling the extension.
- Uninstalling the Extension: Uninstalling the extension will remove all data stored in chrome.storage.local. Data in chrome.storage.sync may remain in your Google account cloud storage, which can be cleared by following Google's instructions for clearing synced extension data.
6. Children's Privacy
CodeWall is not intended for use by children under the age of 13. We do not knowingly collect any personally identifiable information from children under 13 or anyone for that matter.
7. Changes to This Privacy Policy
We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the "Last Updated" date. You are advised to review this Privacy Policy periodically for any changes.