Privacy Policy
Last updated: May 12, 2026
This Privacy Policy explains how Luthfi Studio ("we", "us", or "our") handles information when you use the VviLauncher mobile application ("App"). This policy is intended to meet Google Play and Google Developer privacy requirements by describing what data the App accesses, how it is used, and with whom it is shared.
1. Who We Are
Developer: Luthfi Studio
App: VviLauncher (package: com.vvicat.elauncher)
Contact: owners.hzh@gmail.com
2. Data We Access and Process
The App is designed to work primarily on your device. We access data only to provide features you choose to use.
2.1 Data Accessed On Your Device and Feature-Triggered Uploads
- Contacts (optional): used for contact shortcuts or contact import flows when enabled.
- Calendar: used to show calendar events on your home screen.
- Photos/Media: used for wallpaper selection, QR scan from gallery, or image-related features.
- Usage stats: used to provide app usage suggestions on device.
- Camera: used for QR scanning, magnifier, and camera shortcuts.
- Microphone: used for optional voice input in the keyboard and Lingling voice features.
Many launcher features process this data locally. Some optional online or AI features send the minimum required data to VviLauncher services or service providers when you request that feature, as described below.
2.2 Lingling AI, Notifications, and Voice
Lingling AI features are optional. VviLauncher does not provide a screen-reading or screen-control assistant. Lingling may process your chat text, selected app context, notification summary text when you enable notification access, and voice audio when you use voice input.
We use this data only to answer your requests, provide launcher assistance, summarize notifications you allow Lingling to access, and convert voice input to text.
Lingling chat messages, notification summary text, selected app context, and pet-behavior context may be processed by Google Gemini AI when you use those AI features. Voice audio for Lingling voice features may be sent through VviLauncher services to Google Cloud Speech-to-Text to convert speech to text.
We do not sell this data and do not use it for advertising. You can disable optional AI, notification access, and voice permissions in the app or Android system settings.
2.3 Location Data
- Approximate or precise location (optional): used to provide local weather and to generate SOS messages. Location access is optional and can be disabled in system settings.
- If location is enabled, the App may derive a city name and send that city name to our weather service to retrieve forecasts.
2.4 Network Requests and Server Logs
When you use online features (news, weather, wallpapers, games, or remote configuration), our servers may receive:
- IP address and basic device information (e.g., user agent, app version)
- Request parameters (e.g., language, category, search keywords, city name)
- Timestamps and diagnostics used to maintain service reliability and security
2.5 Feedback and Support
If you email us, we receive the information you provide in your message and email address.
2.6 Advertising, Analytics, and Google Services
The App does not display third-party ads and does not use the Android Advertising ID for ad personalization. Some Google Play, Firebase, and Google services may be used for app functionality, push messaging, attribution, diagnostics, analytics, security, billing, remote configuration, or reliability. These services do not enable personalized ads within the App.
2.7 Permissions and Device Features
Below is the complete list of Android permissions declared by the App. Many permissions are optional or only apply on specific Android versions. If you deny a permission, the related feature will be disabled or will fall back to a less precise mode. Some permissions are system- or OEM-only and are ignored on most consumer devices.
Permissions Detail (AndroidManifest)
Location
android.permission.ACCESS_FINE_LOCATION- Used in: Weather and SOS features to resolve precise location. Why: provides accurate city/location when you enable location-based features. Required: optional; if denied, we use IP-based weather and omit location in SOS text.android.permission.ACCESS_COARSE_LOCATION- Used in: Weather and SOS features for approximate location. Why: allows coarse city resolution without precise GPS. Required: optional.android.permission.ACCESS_BACKGROUND_LOCATION- Declared for: optional background location support (e.g., background weather refresh or SOS on supported builds). Why: keeps location-based features accurate when allowed. Required: optional; if disabled, the app uses foreground-only location or IP-based fallback.
Network and Connectivity
android.permission.INTERNET- Used in: online content (news, weather, wallpapers, games), remote configuration, and web search. Why: network access for online features.android.permission.ACCESS_NETWORK_STATE- Used in: connectivity checks to show offline states and avoid failed requests. Why: improves stability of online features.android.permission.ACCESS_WIFI_STATE- Used in: showing Wi-Fi status in Quick Settings and QR Wi-Fi tools. Why: read Wi-Fi state.android.permission.CHANGE_WIFI_STATE- Used in: connecting to Wi-Fi from QR codes on Android 9 and below (legacy flow). Why: allow legacy Wi-Fi connect APIs.android.permission.BLUETOOTH(maxSdk 28) - Used in: reading Bluetooth state for Quick Settings/voice shortcuts on Android 9 and below. Why: legacy Bluetooth state access.android.permission.BLUETOOTH_ADMIN(maxSdk 28) - Used in: legacy Bluetooth state management on Android 9 and below. Why: support older Bluetooth APIs.
Camera, Flashlight, and Images
android.permission.CAMERA- Used in: QR scanner, magnifier, and camera shortcuts. Why: capture images and scan codes.android.permission.FLASHLIGHT- Used in: flashlight/torch toggles in scanner and magnifier. Why: control device torch.- Selected images are opened through Android's system photo picker or document picker. VviLauncher does not request broad photo or video library access.
android.permission.SET_WALLPAPER- Used in: wallpaper features to apply a selected wallpaper. Why: set home/lock screen wallpaper.android.permission.SET_WALLPAPER_HINTS- Used in: providing crop/offset hints when setting wallpaper (optional). Why: improve wallpaper positioning.android.permission.DOWNLOAD_WITHOUT_NOTIFICATION- Used in: optional background downloads of user-requested content (e.g., wallpapers) without system download UI. Why: cleaner download UX.
Audio and Voice
android.permission.RECORD_AUDIO- Used in: optional voice input in the keyboard and voice features. Why: capture microphone audio when you tap voice input.
Notifications and Haptics
android.permission.POST_NOTIFICATIONS- Used in: optional app notifications (if enabled in your build). Why: show system notifications.android.permission.EXPAND_STATUS_BAR- Used in: OEM/system builds to expand the status bar from launcher UI (often ignored on consumer devices). Why: provide system UI shortcuts on supported ROMs.android.permission.VIBRATE- Used in: haptic feedback for keyboard and remote-control interactions. Why: provide tactile feedback.
Calendar and Contacts
android.permission.READ_CALENDAR- Used in: home calendar widget and event previews. Why: show upcoming events on device.android.permission.READ_CONTACTS- Used in: optional contact shortcuts or contact import flows. Why: allow contact-related features when enabled.
Usage and Suggestions
android.permission.PACKAGE_USAGE_STATS- Used in: suggested apps and usage-based ranking. Why: read on-device usage stats to personalize suggestions.
Device and System
android.permission.READ_PHONE_STATE- Used in: optional device/telephony state features (not for call content). Why: support device status features when enabled.android.permission.RECEIVE_BOOT_COMPLETED- Used in: restoring scheduled tasks/widgets after reboot (if enabled). Why: keep features consistent across reboots.android.permission.WAKE_LOCK- Used in: optional long-running sessions (e.g., magnifier/scan) to keep the device awake. Why: prevent sleep during active tasks.android.permission.FOREGROUND_SERVICE- Used in: optional long-running user-visible tasks (if enabled). Why: keep tasks running with a visible notification.
Launcher and App Management
android.permission.SET_PREFERRED_APPLICATIONS- Used in: system/OEM builds to set default apps (ignored on most consumer devices). Why: launcher default management on supported ROMs.android.permission.REQUEST_DELETE_PACKAGES- Used in: uninstalling apps from launcher (if enabled). Why: allow user-initiated app removal.
Accounts and Sync
android.permission.GET_ACCOUNTS- Used in: optional account-based features or sync. Why: access device account list if a feature requires it.android.permission.READ_PROFILE- Used in: optional profile-based features. Why: access profile metadata when enabled.android.permission.READ_SYNC_SETTINGS- Used in: optional sync configuration checks. Why: align app behavior with system sync settings.android.permission.READ_SYNC_STATS- Used in: optional sync diagnostics. Why: troubleshoot or display sync status.android.permission.WRITE_SYNC_SETTINGS- Used in: optional sync configuration (if enabled). Why: allow the user to adjust sync behavior.android.permission.USE_CREDENTIALS- Used in: optional account authentication flows (legacy). Why: allow account access when explicitly enabled.
Keyboard Dictionary
android.permission.READ_USER_DICTIONARY- Used in: optional keyboard personalization. Why: read user dictionary for suggestions.android.permission.WRITE_USER_DICTIONARY- Used in: optional keyboard personalization. Why: save new words to user dictionary.
Google Play Services, Attribution, and Billing
com.android.vending.BILLING- Used in: in-app purchases/subscriptions (if offered). Why: enable Google Play Billing.com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE- Used in: Play Install Referrer attribution (if enabled). Why: measure install source.android.permission.ACCESS_ADSERVICES_ATTRIBUTION- Used in: Android Ad Services attribution (if enabled). Why: non-personalized attribution reporting.android.permission.ACCESS_ADSERVICES_AD_ID- Used in: Android Advertising ID access (if enabled). Why: attribution or analytics; not used for personalized ads in this App.android.permission.ACCESS_ADSERVICES_TOPICS- Used in: Android Topics API (if enabled). Why: ad services compatibility; not used for personalized ads in this App.com.google.android.c2dm.permission.RECEIVE- Used in: push notifications via FCM (if enabled). Why: receive push messages.com.google.android.providers.gsf.permission.READ_GSERVICES- Used in: Google Play services configuration (if enabled). Why: support Play services features.
3. How We Use Data
- Provide core app functionality and requested features
- Deliver online content (news, weather, wallpapers, games)
- Maintain, debug, and secure the App and related services
- Respond to support requests and feedback
4. Sharing and Third-Party Services
We do not sell your personal data. We share limited data only as needed to operate the App.
- VviLauncher services: Requests to our Firebase/Cloud Functions backend and Firebase Hosting to provide online content, AI features, news, weather, app index sync, remote configuration, diagnostics, and service security.
- Google Gemini AI: Used for Lingling AI chat, screen guidance, notification summaries, and pet behavior. Screen text, screen summaries, screenshots or images, chat messages, and related context may be sent to Google Gemini AI only for the requested AI feature.
- Google Cloud Speech-to-Text: Used to convert Lingling voice audio into text when you use cloud voice recognition.
- Google/Firebase/Google Play services: May process app, device, diagnostics, attribution, billing, push messaging, analytics, or security data as needed for App functionality and service reliability.
- Content providers: Some features may contact third-party domains such as bing.com (daily images), fasttapgames.com (game content), and Google or DuckDuckGo favicon services. These providers may receive your IP address and request metadata.
- External links: When you open a website from the App, that website's privacy policy applies.
5. Data Retention
We retain data only as long as necessary to provide services and for security and troubleshooting. Feedback emails are kept only as long as needed to respond and for reasonable record-keeping.
6. Security
We use reasonable administrative, technical, and physical safeguards. Network requests are transmitted over HTTPS when possible.
7. Your Choices
- You can grant or revoke permissions in Android Settings.
- You can disable online features by not using them; the App will continue to function with reduced capabilities.
- You can request deletion of support emails by contacting us at owners.hzh@gmail.com.
8. How to Uninstall
If VviLauncher is set as your default Home app (launcher), Android requires you to switch to a different Home app before uninstalling.
- Open Android Settings.
- Go to Apps > Default apps > Home app (wording may vary by device).
- Select the system launcher (e.g., Pixel Launcher / System Launcher).
- Return to Settings > Apps > VviLauncher > Uninstall.
You can also open the in-app Uninstall Guide in Settings > About for a one-tap uninstall prompt with confirmation.
9. Children's Privacy
The App is not directed to children under 13. If you believe a child has provided personal information, contact us and we will delete it.
10. Changes to This Policy
We may update this Privacy Policy from time to time. Continued use of the App indicates acceptance of the updated policy.