Privacy Policy
Codecastic Studios ("we," "us," or "our") operates the Bounds: Layout Inspector mobile application ("Bounds," "the App," or "Service"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our App.
By using Bounds, you agree to the collection and use of information in accordance with this policy. If you do not agree, please do not use the App.
1. Information We Collect
1.1 Account Information
When you create an account or sign in, we may collect:
- Google Sign-In: Your Google account name, email address, and profile photo (provided by Google when you choose to sign in with Google).
- Email Sign-In: Your email address (used for email-based sign-in).
- Guest Usage: If you use the App without signing in, we generate a random anonymous identifier stored locally on your device. This identifier is not linked to any personal information.
1.2 Subscription and Purchase Information
When you subscribe to Bounds Pro, Google Play processes your payment. We receive:
- Subscription status (active, expired, paused, or in a grace period)
- Subscription product identifier (e.g., weekly, monthly, or yearly plan)
- Purchase token (provided by Google Play for verification)
- Trial and renewal status
We do not receive or store your payment card details, bank account information, or billing address. All payment processing is handled by Google Play.
1.3 Analytics and Usage Data
We collect anonymized usage data to improve the App:
- Amplitude Analytics: Feature usage events, button interactions, and general navigation patterns. Amplitude may collect device type, operating system version, and general session data. Events are queued locally when offline and transmitted when connectivity is restored.
- Firebase Analytics: Session data, app open events, and general engagement metrics.
1.4 Crash and Performance Data
- Firebase Crashlytics: We collect crash reports, stack traces, device model, OS version, and app state at the time of a crash. This data helps us identify and fix bugs. You can disable crash reporting in the App's settings.
1.5 Device Information
We may collect:
- Device model and manufacturer
- Operating system version
- App version
- Device identifier (for subscription device management; limited to 3 devices per account)
1.6 Survey Responses and Communication Preferences
If you choose to complete an optional in-app survey, we collect your selected role (e.g., developer, designer, QA engineer, or product manager) to better understand our user base.
If you choose to opt in to our optional newsletter, we store your opt-in preference and chosen channels with your account so we can honor it. Opting in is never required to use the App.
1.7 Information We Do NOT Collect via the Accessibility Service
Bounds uses Android's AccessibilityService API solely to inspect and display the UI layout hierarchy of apps on your device. This processing happens entirely on your device. We do not:
- Collect, record, store, or transmit the text content displayed on your screen
- Collect, record, store, or transmit passwords, personal messages, or any sensitive information visible in other apps
- Monitor your keystrokes or input
- Take screenshots or record your screen
- Track which apps you use or for how long (beyond identifying the foreground app for overlay positioning)
- Send any AccessibilityService data to our servers or any third party
The AccessibilityService is used exclusively to read the view hierarchy (layout bounds, view IDs, and element properties) for the purpose of providing the real-time layout inspection overlay feature.
2. How We Use Your Information
- Provide the Service: Operate and maintain the App's core layout inspection features.
- Manage Your Account: Authenticate your identity, manage sign-in sessions, and link your subscription status.
- Process Subscriptions: Verify and manage your Bounds Pro subscription through Google Play.
- Improve the App: Analyze anonymized usage patterns and crash data to fix bugs, improve performance, and develop new features.
- Communicate: Send transactional emails related to your account (e.g., email sign-in links). We send marketing or newsletter updates only if you explicitly opt in, and you can opt out at any time.
- Ensure Security: Verify app integrity using Firebase App Check and Google Play Integrity to protect against unauthorized access and abuse.
3. How We Share Your Information
We do not sell, rent, or trade your personal information to third parties.
We share information only with the following service providers, strictly for the purposes described:
| Service Provider | Data Shared | Purpose |
|---|---|---|
| Google Firebase (Authentication, Firestore, Crashlytics, Analytics, Remote Config, App Check) | Account info, crash reports, analytics events, subscription status | Account management, crash reporting, analytics, app configuration, security |
| Amplitude | Anonymized usage events, device type, OS version | Product analytics and improvement |
| Google Play Billing | Purchase tokens, subscription status | Payment processing and subscription management |
| Google Play Integrity | Device attestation signals | App and device integrity verification |
These providers process data in accordance with their own privacy policies:
We may also disclose your information if required by law, regulation, legal process, or governmental request.
4. Accessibility Service and Overlay Permissions
4.1 Accessibility Service
Bounds requires the Android AccessibilityService API to function. This permission enables the App to:
- Read the view hierarchy of the currently active window to detect UI element properties (bounds, dimensions, text, and view IDs) for layout inspection.
- Detect app transitions to ensure the inspection overlay appears only for the intended app.
The AccessibilityService is used exclusively for providing the layout inspection feature. All data accessed through this service is processed locally on your device and is never transmitted to our servers or any third party.
4.2 Display Over Other Apps (Overlay)
Bounds uses the system overlay permission to display layout inspection results (bounds, grid lines, and element information) on top of the app being inspected. This overlay is visible only while you are actively using the inspection feature.
5. Data Storage and Security
5.1 Local Storage
App preferences, settings, and your anonymous guest identifier are stored locally on your device using Android SharedPreferences and DataStore. Sensitive local data is encrypted using AndroidX Security Crypto.
5.2 Cloud Storage
Account information and subscription status are stored in Google Firebase Firestore, which provides encryption at rest and in transit.
5.3 Security Measures
We implement appropriate technical and organizational measures to protect your information, including:
- Encryption of data in transit (TLS/HTTPS)
- Encryption of data at rest (Firebase Firestore, encrypted local storage)
- Firebase App Check and Google Play Integrity for app authenticity verification
- Server-side subscription verification to prevent unauthorized access
- Secure authentication via Firebase Authentication
No method of electronic storage or transmission is 100% secure. While we strive to protect your information, we cannot guarantee absolute security.
6. Data Retention
- Account Data: Retained as long as your account is active. If you delete your account, we will delete your associated data from our servers within 30 days.
- Analytics Data: Anonymized usage data is retained according to the retention policies of Amplitude and Firebase Analytics.
- Crash Reports: Retained for up to 90 days in Firebase Crashlytics.
- Subscription Data: Purchase records are retained as required for billing dispute resolution and legal compliance.
7. Your Rights and Choices
7.1 Account Deletion
You may request deletion of your account and associated data from inside the app (Settings → Privacy → Delete account) or by visiting our data deletion request page. Requests are honored within 30 days, with a 30-day cooling period during which the deletion can be cancelled by signing back in.
7.2 Analytics Opt-Out
You can disable analytics and crash reporting in the App's settings under Settings > Privacy.
7.3 Permissions
You can revoke any permission (Accessibility, Overlay, Notifications) at any time through your device's system settings. Note that revoking the Accessibility or Overlay permission will prevent the App from functioning as intended.
7.4 Uninstall
You can stop all data collection by uninstalling the App. Local data is deleted upon uninstall. To delete cloud-stored data, please request account deletion before uninstalling.
8. Children's Privacy
Bounds is not directed at children under the age of 13 (or the applicable age of digital consent in your jurisdiction). We do not knowingly collect personal information from children. If we become aware that we have collected personal information from a child without parental consent, we will take steps to delete that information promptly.
If you are a parent or guardian and believe your child has provided us with personal information, please contact us.
9. International Data Transfers
Your information may be transferred to and processed in countries other than your country of residence, as our service providers (Google, Amplitude) operate globally. These transfers are subject to appropriate safeguards in accordance with applicable data protection laws.
10. Third-Party Links and Services
The App may contain links to third-party websites or services (e.g., system settings pages). We are not responsible for the privacy practices of those third parties. We encourage you to read their privacy policies.
11. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. We will notify you of material changes by updating the "Last Updated" date at the top of this policy. We encourage you to review this policy periodically.
Your continued use of the App after changes are posted constitutes your acceptance of the updated policy.
12. Contact Us
If you have questions, concerns, or requests regarding this Privacy Policy or your personal data, please contact us at:
Codecastic Studios
Email: privacy@codecastic.com