Data Protection & Privacy Information
Version: 1.0.2 | Last Updated: October 2024
App Package: com.merlinswizardry.votery
Executive Summary
Votery is a local, offline, pass-and-play group decision-making game. The app is designed with privacy-first principles and operates entirely on-device with no network connectivity in production builds. All user data remains local to the device and is never transmitted to external servers.
Quick Privacy Facts
- ✅ 100% Offline - No internet connectivity required or used
- ✅ Local Storage Only - All data stored on device
- ✅ No User Accounts - No registration or authentication
- ✅ No Analytics - No tracking or telemetry
- ✅ No Ads - No advertising or third-party ad networks
- ✅ Minimal Permissions - Only INTERNET permission for development/debug builds
- ✅ No PII Collection - Only user-entered names (locally stored)
Data Collection & Storage
Data Stored Locally on Device
The app stores the following data types exclusively on the user's device using local storage mechanisms:
Player Names
- Type: User-entered text strings
- Purpose: Display player names during gameplay
- Storage: Hive database (local NoSQL database)
- Retention: Stored until manually deleted by user
- Location: /data/data/com.merlinswizardry.votery/ on Android
- Sensitivity: Low - User-chosen display names only (not verified identities)
- Cleanup: Automatically removes entries older than 6 months
Option Labels
- Type: User-entered text strings
- Purpose: Display voting options during gameplay
- Storage: Hive database (local NoSQL database)
- Retention: Stored until manually deleted by user
- Sensitivity: Low - User-defined decision options
- Cleanup: Automatically removes entries older than 6 months
Game History
- Data Stored: Player names used in game, option labels, winner selection, game mode, voting results, timestamps, game duration
- Purpose: Display user statistics and last winner information
- Retention: Limited to most recent 100 game sessions
- Cleanup: Automatically prunes to 100 most recent sessions
User Statistics
- Data Stored: Total games played, total decisions made, favorite game mode, last played timestamp, last winner information
- Purpose: Display gameplay statistics to user
- Storage: Hive database (local NoSQL database)
App Settings/Preferences
- Data Stored: Animation speed preferences, game rule toggles, UI preferences, timer settings
- Storage: SharedPreferences (Android key-value storage)
- Purpose: Persist user preferences across app sessions
- Sensitivity: None - purely UI/gameplay preferences
Data NOT Collected
The app explicitly does NOT collect, store, or transmit:
- ❌ Personal Identifiable Information (PII) beyond user-entered names
- ❌ Email addresses
- ❌ Phone numbers
- ❌ Location data
- ❌ Device identifiers (IMEI, Android ID, etc.)
- ❌ Contacts or contact lists
- ❌ Photos or media files
- ❌ Browsing history
- ❌ Usage analytics or telemetry
- ❌ Crash reports
- ❌ Advertising IDs
- ❌ Financial information
- ❌ Health data
- ❌ Biometric data
Network Activity & Permissions
Android Permissions
Production Build (Release):
- INTERNET permission: Not used in production
- Present in debug/profile manifests only for Flutter hot reload functionality
- NOT present in release APK
Other Permissions: None - The app requests no additional permissions
Network Connectivity
Production Release:
- ✅ Zero network calls - The app makes no HTTP/HTTPS requests
- ✅ No web sockets - No real-time connections
- ✅ No API calls - No external service integrations
- ✅ Fully offline - Can operate in airplane mode
Google Fonts Note: The google_fonts package is used for typography, but fonts are bundled with the app in the assets folder. No runtime font downloads occur.
Third-Party Dependencies
All dependencies have been reviewed for data protection implications. The app uses the following privacy-safe dependencies:
- flutter_riverpod: State management - No network activity, no data collection
- go_router: Navigation - Local navigation only
- hive & hive_flutter: Local NoSQL database - All data stored locally
- shared_preferences: Key-value storage - All data stored locally
- uuid: Generate unique identifiers - Local generation only
- google_fonts: Typography - Fonts pre-bundled, no runtime downloads
Important: None of these dependencies collect, transmit, or share any user data.
Data Processing & Purpose
| Data Type | Purpose | Processing | Sharing |
|---|---|---|---|
| Player Names | Display during gameplay, populate suggestions | Local only | None |
| Option Labels | Display during voting, populate suggestions | Local only | None |
| Game History | Show statistics, last winner | Local aggregation | None |
| Vote Results | Calculate winner, show results | Local computation | None |
| Settings | Customize user experience | Local storage | None |
Data Deletion
Users can delete their data through:
- Settings → Reset to Defaults - Clears all settings
- Inventory Management - Delete individual players/options
- App Uninstall - Removes all app data (standard Android behavior)
- Clear App Data - Android system settings → Apps → Votery → Clear Data
Data Security
Security Measures
- App Sandbox: Data stored in Android app-private directory (only accessible by app)
- No Network Exposure: Zero attack surface from network vulnerabilities
- No Cloud Storage: No synchronization with external services
- Standard Android Permissions: App data protected by Android OS permissions
- No Third-Party SDKs: No analytics, ads, or tracking SDKs that could leak data
Recommendations for Sensitive Use Cases
If users plan to use the app with sensitive information:
- Disable Android cloud backups for this app
- Use device-level encryption (enabled by default on modern Android)
- Clear app data after sensitive voting sessions
- Consider using generic placeholder names instead of real names
Child Privacy (COPPA Compliance)
- App is suitable for all ages
- No age verification required
- App does not knowingly collect data from children
- No registration or account creation
- Parents should supervise if children use the app
GDPR Considerations
Data Controller
- Users are the data controllers - they enter and control all data
- Developer has no access to user data
- No data processing agreements needed (no data leaves device)
User Rights
Under GDPR, users have the following rights (all supported):
| Right | How to Exercise |
|---|---|
| Right to Access | All data visible in app UI |
| Right to Rectification | Edit names/options directly in app |
| Right to Erasure | Delete individual items or uninstall app |
| Right to Data Portability | No export feature currently, but could be added |
| Right to Object | N/A - no automated decision making |
| Right to Restriction | Stop using app or clear data |
Google Play Data Safety Requirements
Data Safety Section Answers
Does your app collect or share any of the required user data types?
Answer: NO
Reasoning:
- User-entered names are not verified PII
- All data is local, never transmitted
- No sharing with third parties
- No data leaves the device
Conservative Declaration (if required):
- Data Collected: Optional user-provided names and game interaction data
- Data Shared: None
- Data Security: Stored on device only, protected by app sandbox
- Data Deletion: Delete via app features or uninstall
Summary
Votery is designed with privacy as a core principle. All data remains local to the user's device, and the app operates entirely offline. This architecture minimizes privacy risks and ensures users maintain full control over their data.
Key Takeaways:
- ✅ No data leaves the device - Complete offline operation
- ✅ No third-party tracking - Zero analytics or telemetry
- ✅ Minimal data collection - Only user-entered names and game results
- ✅ User control - Users can delete data anytime
- ✅ No sensitive permissions - INTERNET only in debug builds
- ✅ GDPR/COPPA friendly - Minimal compliance burden
- ✅ Google Play ready - Meets all store requirements
Contact Information
For any questions or concerns about data protection, please contact:
Merlin's Wizardry - Data Protection Officer
Email: merlin@meduty.at