Privacy Policy
Effective Date: January 1, 2026
Desoto Labs LLC ("we," "us," or "our") operates CrackedRuby, a Ruby programming and computer science education platform. This Privacy Policy explains how we collect, use, and protect your information.
1. Information We Collect
Account Information
- Social Login Data: When you sign in with Google or GitHub, we receive basic profile information including your name, email address, and profile picture
- Usage Data: Information about how you use our platform, including challenges completed, progress tracking, learning patterns, time spent on exercises, and completion rates
- Code Submissions: Code you write and submit through our interactive challenges and labs
- Subscription Information: Payment and billing information processed securely through Stripe (we do not store payment card details)
Automatically Collected Information
- Technical Data: IP address, browser type, device information, operating system, and referring URLs
- Analytics Data: Information collected through Google Analytics including page views, session duration, navigation patterns, and feature usage
- Cookies: Session cookies for authentication and functionality, analytics cookies for usage tracking
2. How We Use Your Information
We use your information to:
- Provide and operate the CrackedRuby learning platform
- Track your progress, completed challenges, and learning achievements
- Evaluate your code submissions and provide feedback
- Process payments and manage subscriptions through Stripe
- Send transactional emails about your account and subscription
- Send optional product updates and educational content (with your consent)
- Provide customer support and respond to your inquiries
- Analyze platform usage to improve features, content, and user experience
- Prevent fraud, abuse, and security issues
- Comply with legal obligations
3. Information Sharing and Disclosure
We do not sell, rent, or trade your personal information. We may share information only in these limited circumstances:
Service Providers
- Stripe: For secure payment processing (see stripe.com/privacy)
- Google/GitHub: For authentication services (subject to their privacy policies)
- Google Analytics: For website analytics and usage insights (see policies.google.com/privacy)
Legal Requirements
We may disclose your information when required by law or when we believe in good faith that disclosure is necessary to:
- Comply with legal obligations, court orders, or government requests
- Enforce our Terms of Service and other agreements
- Protect the rights, property, or safety of Desoto Labs LLC, our users, or the public
- Prevent fraud, security issues, or technical problems
Business Transfers
If Desoto Labs LLC is involved in a merger, acquisition, bankruptcy, or sale of assets, your information may be transferred as part of that transaction. We will notify you via email and/or prominent notice on our platform before your information is transferred and becomes subject to a different privacy policy.
4. Analytics and Tracking
Google Analytics
We use Google Analytics 4 to collect anonymous usage statistics and improve our services. This helps us understand how visitors use our platform and identify areas for improvement. The data collected includes:
- Pages you visit and how long you spend on them
- General geographic location (country/city level)
- Device type, browser, and screen resolution
- How you navigate through our site
- Referral sources (how you found us)
Data Retention: Analytics data is retained for 26 months.
Data Processing: This data is processed by Google LLC under their privacy policy.
Your Choices: You can limit analytics tracking by:
- Installing the Google Analytics Opt-out Browser Add-on (tools.google.com/dlpage/gaoptout)
- Enabling "Do Not Track" in your browser settings
- Using browser privacy/incognito mode
- Blocking analytics scripts with browser extensions
Cookies and Similar Technologies
Google Analytics uses cookies and similar technologies to collect this data. Cookies are small text files stored on your device that help us recognize your browser across visits. The data collected is aggregated and anonymized - we cannot identify individual users from this information.
Essential Cookies (required for service operation):
- Session authentication and login state
- Security tokens for CSRF protection
- User preferences and settings
Analytics Cookies (optional, used for improvements):
- Google Analytics tracking
- Feature usage patterns
- Performance monitoring
You can control cookies through your browser settings. Note that disabling essential cookies may limit platform functionality.
For more information about how Google uses data from sites that use their services, visit Google's Privacy Policy and "How Google uses information from sites or apps that use our services".
By using our website, you acknowledge and consent to this data collection as described in this policy.
5. Email Communications
Transactional Emails (Required)
We send transactional emails necessary for account operation:
- Account creation and authentication confirmations
- Subscription confirmations and billing receipts
- Payment failures, renewals, and cancellations
- Critical security updates and notifications
- Account-related communications and responses to your inquiries
You cannot opt out of transactional emails as they are essential for service delivery.
Product Updates (Optional, Default Opt-In)
By creating an account, you are automatically subscribed to receive periodic emails about:
- New learning content and challenges
- Platform features and improvements
- Educational tips and resources
- Service updates and announcements
You may opt out at any time through your account settings or via the unsubscribe link in any email.
Marketing Communications (Optional, Default Opt-Out)
Marketing emails include promotional offers, special deals, and partner communications. These require your explicit opt-in consent and are not sent by default.
Managing Preferences: Update your email preferences at any time through your account settings or by contacting support@crackedruby.com.
6. Data Storage and Security
Security Measures
We implement appropriate technical and organizational security measures to protect your information:
- Industry-standard encryption for data transmission (TLS/SSL)
- Encrypted data storage
- Secure authentication via trusted OAuth providers
- Regular security assessments and updates
- Access controls limiting employee access to personal data
- Secure backup systems
Payment Security
Payment card information is processed and stored exclusively by Stripe, our PCI-DSS compliant payment processor. We never receive, process, or store your full payment card details on our servers.
Data Storage Location
Your data is stored on secure servers in the United States. If you are accessing CrackedRuby from outside the United States, your information will be transferred to, stored, and processed in the United States.
Limitations
While we take reasonable precautions, no method of transmission or storage is 100% secure. We cannot guarantee absolute security of your information.
7. Your Rights and Choices
You have the following rights regarding your personal information:
Access
Request a copy of the personal information we hold about you. You can export your data through your account settings or by contacting us at support@crackedruby.com.
Correction
Update or correct inaccurate information at any time through your account settings. For information you cannot update directly, contact us for assistance.
Deletion
Permanently delete your account and associated data through your account settings. See Section 11 (Data Retention) for details on what happens to your data after deletion.
Data Portability
Request your personal data in a structured, commonly used, machine-readable format for transfer to another service.
Object to Processing
Object to certain processing of your personal information, subject to legal limitations.
Email Preferences
Manage your email communication preferences through your account settings, including opting out of product updates and marketing emails.
Do Not Track
We honor Do Not Track browser settings for analytics purposes.
Exercising Your Rights: To exercise any of these rights or if you have questions, contact us at support@crackedruby.com. We will respond to your request within 30 days.
8. Code Submissions and Learning Data
What We Collect
- Code you write and submit through challenges and labs
- Test results and correctness of solutions
- Time spent on each challenge
- Number of attempts and submission history
- Code execution logs (for debugging and improvement purposes)
How We Use Code Submissions
Code submissions are used to:
- Evaluate correctness and provide feedback
- Track your learning progress and achievements
- Improve our challenge content and test cases
- Analyze common mistakes and learning patterns
- Enhance platform features and educational materials
Ownership and Rights
As outlined in our Terms of Service, code submissions become the property of CrackedRuby for use within our service, while you retain the right to use your code solutions elsewhere.
Code Privacy
Your code submissions are private and associated with your account. We do not publicly share your code without your explicit consent. Code may be used internally in anonymized, aggregated form for platform improvements.
9. Third-Party Services
Our platform integrates with third-party services. We recommend reviewing their privacy policies:
- Google OAuth: accounts.google.com/signin/oauth (Privacy Policy: policies.google.com/privacy)
- GitHub OAuth: github.com/login/oauth (Privacy Policy: docs.github.com/en/site-policy/privacy-policies)
- Stripe: stripe.com (Privacy Policy: stripe.com/privacy)
- Google Analytics: analytics.google.com (Privacy Policy: policies.google.com/privacy)
We are not responsible for the privacy practices of these third-party services.
10. Children's Privacy
CrackedRuby is not intended for children under 13 years of age. We do not knowingly collect personal information from children under 13. If you are under 13, do not use our service or provide any information to us.
If we become aware that we have collected personal information from a child under 13 without parental consent, we will take steps to delete that information immediately. If you believe we have collected information from a child under 13, please contact us at support@crackedruby.com.
11. Data Retention
Active Accounts
We retain your personal information for as long as your account is active or as needed to provide you services, comply with legal obligations, resolve disputes, and enforce our agreements.
Account Deletion
When you delete your account through your account settings:
- Immediate Removal: Most personal data (name, email, profile, progress) is immediately removed from active production systems
- Backup Retention: Deleted data may remain in backup systems for up to 30 days for disaster recovery purposes, after which it is permanently deleted
- Anonymized Data: Some usage data may be anonymized and retained indefinitely for analytics and platform improvement purposes
- Legal Requirements: We may retain certain information as required by law (e.g., transaction records for tax purposes)
- Subscription Records: Billing records may be retained as required for accounting and legal compliance
Inactive Accounts
Accounts inactive for more than 3 years may be subject to data deletion or anonymization after reasonable notice to your registered email address.
12. International Users and Data Transfers
Location
Desoto Labs LLC is based in the United States, and our servers are located in the United States.
Data Transfers
If you are accessing CrackedRuby from outside the United States, please be aware that your information will be transferred to, stored, and processed in the United States. The United States may have different data protection laws than your country of residence.
Your Consent
By using CrackedRuby, you consent to the transfer of your information to the United States and its processing in accordance with this Privacy Policy.
13. California Privacy Rights
If you are a California resident, you have additional rights under the California Consumer Privacy Act (CCPA):
- Right to Know: Request disclosure of personal information we have collected about you
- Right to Delete: Request deletion of your personal information (subject to certain exceptions)
- Right to Opt-Out: Opt-out of the sale of personal information (note: we do not sell personal information)
- Right to Non-Discrimination: You will not receive discriminatory treatment for exercising your privacy rights
To exercise these rights, contact us at support@crackedruby.com or through your account settings.
14. European Privacy Rights (GDPR)
If you are located in the European Economic Area (EEA), United Kingdom, or Switzerland, you have certain rights under the General Data Protection Regulation (GDPR):
Legal Basis for Processing
We process your personal information based on:
- Contract Performance: To provide our services under our Terms of Service
- Legitimate Interests: To improve our platform, prevent fraud, and ensure security
- Consent: For optional email communications and analytics (where required)
- Legal Obligations: To comply with applicable laws
Your GDPR Rights
- Right to access your personal data
- Right to rectification of inaccurate data
- Right to erasure ("right to be forgotten")
- Right to restrict processing
- Right to data portability
- Right to object to processing
- Right to withdraw consent
- Right to lodge a complaint with a supervisory authority
To exercise these rights, contact us at support@crackedruby.com.
15. Changes to Privacy Policy
We may update this Privacy Policy from time to time to reflect changes in our practices, technology, legal requirements, or other factors.
Notification
We will notify you of material changes by:
- Email notification to your registered email address
- Prominent notice on our platform
- Update to the "Effective Date" at the top of this policy
Material changes will be communicated at least 30 days before taking effect.
Your Acceptance
Your continued use of CrackedRuby after changes become effective constitutes your acceptance of the updated Privacy Policy. If you do not agree to the changes, you must stop using the service and may delete your account.
16. Contact Us
If you have questions, concerns, or requests regarding this Privacy Policy or our privacy practices, please contact us:
Email: support@crackedruby.com
Company: Desoto Labs LLC
Mail: Desoto Labs LLC, 6808 University Ave Ste 108 #1441, Middleton, Wisconsin 53562 US
We will respond to your inquiry within 30 days.
This Privacy Policy is effective as of January 1, 2026 and applies to CrackedRuby operated by Desoto Labs LLC.