AIO INDIA - Policy & Permissions Justification

Complete Google Play review justification  |  Package: com.naveen21.AIO_INDIA  |  Build 5.6.46 (versionCode 119)

Last updated: 1 November 2026  |  Privacy Policy: /privacy-policy.html  |  Terms: /terms-conditions.html

Quick facts for the reviewer

App typeIndia-focused classifieds marketplace + social messaging (buy/sell, chat, calls, wallet, rewards)
Third-party adsNo - no ad SDK, no ad serving, no sale of personal data
Advertising ID usedNo (the AD_ID permission was removed; see section 7)
Default SMS handlerYes (role support) — app can request ROLE_SMS with user's explicit consent via system role dialog to function as the default SMS app. Becoming default is never automatic.
Call log accessNo - no call-log permission declared
Background locationNo - foreground-only location, no ACCESS_BACKGROUND_LOCATION
Broad media accessNo - system Photo Picker on Android 13+; no READ_MEDIA_*
Data encrypted in transitYes - HTTPS/TLS only (usesCleartextTraffic=false)
Account deletion URLhttps://aioapi.facebookindia.in/policy-justification.html#account-deletion
Privacy contactam4u.listen@gmail.com

1. App purpose and core features

AIO INDIA is a local classifieds marketplace and social messaging app for India. Core, advertised features:

2. Permissions at a glance

Permission Core feature When the user sees the prompt If the user denies
READ_CONTACTS Find friends, start chat / group core When the user opens the contact picker / "Find friends" Contact suggestions hidden; manual number entry and all other features work
CAMERA Listing photos, chat/status media, profile, video calls core Only when the user taps camera (attach photo, take video, start video call) Gallery picker / voice note / text chat still work
RECORD_AUDIO, MODIFY_AUDIO_SETTINGS Voice notes and voice/video calls core Only when the user holds the mic button or joins a call Text chat works; calls/voice notes unavailable
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
Pre-fill listing / profile address optional When the user taps "Detect location" on a listing or profile address User types pincode/city/state manually; nothing else changes
POST_NOTIFICATIONS Message, order and incoming-call notifications core After login, via the standard Android 13+ notification prompt No push notifications; in-app screens still update
RECEIVE_SMS SMS Import into AIO chat optional Only when the user opens the SMS-import feature SMS import off; every other feature works
READ_PHONE_STATE Hold in-app call during a SIM call optional When the user starts/receives an in-app call and the app checks call state In-app call keeps running; it is not auto-held during a SIM call
READ_PHONE_NUMBERS Detect the user's SIM number to pre-fill login optional On the login / SIM-select screen, only if the user taps "Detect my number" or the SIM flow runs User types the 10-digit number manually; login works normally
CALL_PHONE
MANAGE_OWN_CALLS
Call from listing/chat + in-app calls core When the user taps the call button Number is shown; user can dial manually / use another dialer
SCHEDULE_EXACT_ALARM User-created reminders When the user saves a reminder (Android 12+ settings prompt if needed) Reminder may arrive late; app otherwise works
USE_FULL_SCREEN_INTENT Incoming call screen on lock screen No prompt; declared for the calling feature (Play declaration required) Call notification appears as a normal heads-up notification
READ_EXTERNAL_STORAGE / WRITE_EXTERNAL_STORAGE
maxSdkVersion=32
Image select/save on Android 12 and below Only on Android 12 or lower, when choosing/saving media System picker still available on supported devices
RECEIVE_BOOT_COMPLETED Restore user's reminders after reboot No prompt Reminders do not survive a reboot
VIBRATE, WAKE_LOCK, INTERNET Core operation No prompt Not applicable (normal permissions)

Only the permissions listed here are declared. There is no SEND_SMS, READ_SMS, READ_CALL_LOG, WRITE_CALL_LOG, ACCESS_BACKGROUND_LOCATION, READ_MEDIA_IMAGES, READ_MEDIA_VIDEO or READ_MEDIA_AUDIO in the build.

3. Permission-by-permission justification (detail)

3.1 Contacts - READ_CONTACTS

Reads device contacts on the device to show which contacts already use AIO INDIA, so the user can start a chat or create a group. Only SHA-256 hashes of normalized E.164 numbers are sent to our server for matching. The raw phonebook (names, numbers, emails, photos) is never uploaded, stored, sold or shared. Denying the permission only hides contact suggestions; manual number entry and all other features keep working. Users can also delete synced contacts from Settings.

3.2 Camera - CAMERA

Opens only on an explicit user action: taking a photo/video for a product listing, chat, status or profile, or turning on the camera in a video call. Live video is streamed peer-to-peer and is never recorded or stored by AIO INDIA.

3.3 Microphone - RECORD_AUDIO, MODIFY_AUDIO_SETTINGS

Records a voice note only while the user holds the mic button (recording stops on release) and captures mic audio during a call the user has joined. Calls and voice notes are not recorded for any other purpose; call audio is never stored. MODIFY_AUDIO_SETTINGS is used for speaker/earpiece routing during calls.

3.4 Location - ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION

Read once, in the foreground, when the user taps "Detect location" while posting/editing a product or profile address, to pre-fill pincode/city/state. The app does not track location in the background, does not build a location history, and does not request ACCESS_BACKGROUND_LOCATION. Regular address entry works without this permission.

3.5 Notifications - POST_NOTIFICATIONS

Firebase Cloud Messaging notifications for new messages, order/status updates and incoming calls. Requested once through the standard Android 13+ dialog; users can turn notifications off in Android Settings at any time.

3.6 Storage (legacy only) - READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE

Both are limited to maxSdkVersion=32 (Android 12 and below) for selecting/saving product and chat images on older devices. On Android 13+ the app uses the Android system Photo Picker and does not request broad media access (READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO are absent).

4. Restricted permission: SMS (READ_SMS, SEND_SMS, RECEIVE_SMS)

Play SMS/Call Log declaration answers: Is AIO INDIA the default SMS handler? Yes / role requested only with consent (the app requests RoleManager.ROLE_SMS only when the user explicitly taps "Make AIO your SMS app" in Settings). Does the app use SMS for automatic OTP verification? No — OTP uses Google's SMS User Consent API only (no permission used for auto-OTP). Does the app access the call log? No.

Use case: As a default SMS handler, AIO INDIA can display SMS conversations, compose and send SMS (SEND_SMS), read the user's SMS inbox for display (READ_SMS), and receive incoming SMS (RECEIVE_SMS/SMS_DELIVER) when selected as default. All actions are user-initiated or required for the core default-SMS functionality.

Technical scope: SMS_DELIVER receiver is exported only with BROADCAST_SMS permission and runs only when the app is the default SMS app. SEND_SMS is used to send user-composed messages. READ_SMS is used to show existing conversations. The app does not send SMS in the background without user action, does not upload SMS content for advertising, and does not become default automatically.

User control: Becoming the default SMS app is entirely optional and initiated by the user from Settings. If the user denies/revokes or chooses another default app, SMS functionality is disabled and all other AIO INDIA features continue to work. Permissions can be revoked in Android Settings.

5. Restricted permission: Phone

5.1 READ_PHONE_STATE

Used only to detect when a normal SIM call starts or ends, so an active AIO INDIA in-app call can be automatically held (microphone/remote audio paused) and resumed. The app does not read the call log, contacts or phone number from this permission, and does not use IMEI/device identifiers.

5.2 READ_PHONE_NUMBERS

Used only on the login / SIM-select screen to detect the user's own SIM number and pre-fill the 10-digit login number, or to let the user pick which SIM number to use. It is an optional convenience: if denied, the user types the number manually and login works normally. The number is used for account login only and is not used for advertising or tracking.

5.3 CALL_PHONE and MANAGE_OWN_CALLS

CALL_PHONE places a normal phone call directly when the user taps "Phone call" on a chat or contact (ACTION_CALL); if the permission is denied the app falls back to the standard ACTION_DIAL dialer. MANAGE_OWN_CALLS lets the app manage its own WebRTC voice/video calls through a Telecom ConnectionService (audio focus, call state, system call integration). The app never becomes the default dialer and never reads the call log.

6. Foreground services (actual types in the APK)

The build declares the following foreground service types. Each service runs only while its user-visible task is active and shows the required ongoing notification.

TypeServicePurpose
dataSyncReminderSendServiceShort-lived: prepares the user's scheduled reminder notifications, then stops.
mediaPlaybackAudioControlsService (Expo Audio)Keeps in-app call audio / voice-message playback running when the user leaves the screen.
phoneCall + microphoneCallForegroundServiceKeeps an active AIO voice/video call alive while the app is in the background. Starts when the call connects, shows an ongoing "AIO call ongoing" notification, and stops when the call ends.

These are the only foreground service types declared in the current manifest. The app does not use the mediaProjection, location, camera, or shortService foreground-service types.

FOREGROUND_SERVICE_MICROPHONE and FOREGROUND_SERVICE_PHONE_CALL are used only by CallForegroundService while a call is active; the app does not record calls and does not run a hidden background call service.

7. Advertising ID and library-declared permissions

AIO INDIA shows no third-party ads, has no ad SDK, and does not sell advertising data. The AD_ID permission was removed from the manifest. Play Console → App content → Advertising ID: No.

The final APK also contains normal (non-runtime) permissions added by libraries. None of them prompt the user or grant access to personal data by themselves:

PermissionSource / purpose
ACCESS_NETWORK_STATE, ACCESS_WIFI_STATENetwork availability checks (React Native / Firebase).
com.google.android.c2dm.permission.RECEIVEFirebase Cloud Messaging push delivery.
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICEPlay Install Referrer library (install attribution).
ACCESS_NOTIFICATION_POLICYAudio/notification library; used only to read/adjust audio interruption behaviour.
BROADCAST_CLOSE_SYSTEM_DIALOGS (maxSdk 30)Legacy calling/notification library; closes system dialogs after a call ends.
Launcher badge permissions (Samsung, HTC, Sony, Huawei, OPPO, etc.)Notification-badge library; only draws the unread-count badge on supported launchers.
com.naveen21.AIO_INDIA.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSIONAndroidX internal signature permission for non-exported dynamic receivers.

These library permissions are normal (non-runtime) permissions; none of them prompt the user or grant access to personal data by themselves. AD_ID was removed in the 5.6.46 build.

8. Data Safety answers (Play Console form)

Data typeCollectedPurposeShared
NameYesAccount, profile, ordersNo
Phone numberYesAccount, OTP login, chat, delivery, fraud preventionNo
Email addressYesAccount, order communication, supportNo
AddressYesDelivery of orders, profileNo
User IDsYesAccount, chat matching, fraud preventionNo
Contacts (SHA-256 hashes only)YesFind friends / chat matchingNo
Approximate & precise location (foreground)YesPre-fill listing/profile addressNo
PhotosYesListings, chat, status, profileNo
VideosYesListings, chat, statusNo
Audio / voice recordingsYesVoice notes, callsNo
In-app messagesYesCore messagingNo
SMS (imported messages from AIO-registered senders)YesCore messaging / SMS importNo
Payment info - UPI transaction reference (UTR)YesWallet top-up, order reconciliation, refundsNo
Purchase historyYesOrders, wallet, refunds, supportNo
Other user-generated content (listings, status)YesMarketplace and social featuresNo
Other actions (spins, scratch results, referral ledger)YesRewards, fraud preventionNo
Device or other IDs (FCM token, device fingerprint)YesPush delivery, security, session validationNo
Crash logsNoNo Crashlytics/crash SDK; only server-side error logsNo
Diagnostics / analyticsNoNo analytics SDKNo

Security practices: data encrypted in transit = Yes (HTTPS/TLS); users can request deletion = Yes; committed to Play Families Policy = No; independent security review = No; data sold = No; data used for advertising = No.

Chat messages, photos and voice notes are delivered only to the recipients the user chooses. Order address is used for delivery (seller/courier) as required to fulfil the user's order. This is not sale of data.

9. Security, retention and deletion

Account deletion

In-app (recommended): Settings → Delete My Account → confirm. The account and associated personal data (profile, listings, chat messages, wallet and order records) are deleted immediately from the live database. Backup copies are purged within 30 days.

Email fallback: write to am4u.listen@gmail.com from your registered mobile number (or mention it in the email). We verify the request and complete the same deletion within 30 days.

Play Console → Data safety → Account deletion URL: https://aioapi.facebookindia.in/policy-justification.html#account-deletion

Note for the reviewer: the in-app "Delete My Account" button is enabled in app v5.6.36+ (Settings → Delete My Account). The email route above is also live. Both lead to the same verified deletion process.

10. Reviewer demo (2-3 minutes)

  1. Contacts: Chat tab → contact picker → select a contact → chat opens (matched by hash).
  2. Camera/mic: Chat → attach → camera/photo picker → send; hold mic → voice note.
  3. Location: Post Product → address → "Detect location" → pincode/city/state auto-filled.
  4. Default SMS app: Settings → "Make AIO your SMS app" → tap and accept the system role dialog. Once set as default, AIO can show conversations, send/receive SMS. If another app is set as default, this is disabled; all other features remain available.
  5. Phone state: start an in-app call → receive a SIM call → in-app call auto-holds and resumes.
  6. Phone numbers: log out → login screen → "Detect my number" → SIM number pre-fills. Deny → type manually.
  7. Calls: chat/product → call button → in-app voice/video call.

A demo account or live walkthrough can be provided on request. App is India-focused; numbers are normalized to +91.

11. Play Console form answers - checklist

Play Console sectionAnswer to submit
App content → Privacy policyhttps://aioapi.facebookindia.in/privacy-policy.html
App content → AdsNo ads
App content → Advertising IDNo (not used for advertising)
App content → Data safetyUse section 8 table; encrypted in transit = Yes; deletion = Yes; sells data = No
App content → Account deletionYes - URL: https://aioapi.facebookindia.in/policy-justification.html#account-deletion
Permissions → SMS / Call LogDefault SMS handler role (ROLE_SMS) optional, requested only with user consent; SEND_SMS/READ_SMS/RECEIVE_SMS declared; no call log; OTP via SMS User Consent
Permissions → PhoneREAD_PHONE_STATE (SIM-call hold), READ_PHONE_NUMBERS (login SIM detection), CALL_PHONE + MANAGE_OWN_CALLS (calling)
Permissions → Foreground servicesdataSync, mediaPlayback (section 6)
Permissions → Exact alarmsUser-created reminders only
Permissions → Full-screen intentIncoming voice/video call screen only
Target audienceNot child-directed (as per the Play Console target-audience selection)