1. Introduction & 100% Offline / Zero Outbound Data Guarantee
Welcome to Vajra TTS (Application ID: com.techassistantforblind.vajratts), developed and published by Tech Assistant for Blind ("we," "us," or "our"). Vajra TTS is a next-generation, high-speed, zero-latency multilingual Text-to-Speech (TTS) synthesizer and accessibility orchestrator engineered specifically for Android users, power readers, and blind or visually impaired individuals using screen readers such as Google TalkBack, Jieshuo (Commentary Screen Reader / CSR), and Voice Assistant.
This Privacy Policy is published for full production compliance with the Google Play Developer Program Policies (including the Google Play User Data Policy, Data Safety Section Requirements, Prominent Disclosure & Consent Requirements, AccessibilityService API Policy, Package Visibility Policy, and Permissions Policy) and applicable international privacy laws.
- 100% Offline Processing: Vajra TTS operates entirely locally and offline on your Android smartphone. All speech synthesis, multilingual language/script detection, number formatting, caller announcements, UPI payment announcements, SMS OTP reading, per-app profile switching, pronunciation dictionary replacements, audio cues, and WAV audio conversions execute 100% offline on your device without requiring an internet connection.
- Not a Single Piece of User Data Leaves Your Device: Zero user data, spoken text, reading habits, screen content, keystrokes, contacts, phone numbers, call events, banking/UPI payment amounts, OTP codes, or installed app lists are ever sent, uploaded, transmitted, synced, or shared out of your device to our servers or any third-party server.
- No Cloud Servers, No Accounts, No Trackers: We do not operate any backend data-collection servers. Vajra TTS requires no sign-up or login, and contains zero third-party analytics SDKs (no Firebase, no Google Analytics), zero crash-reporting SDKs (no Crashlytics, no Sentry), and zero advertising SDKs (no AdMob, no Advertising ID).
2. Google Play Data Safety Summary (What Is Collected vs. What Is Not)
Under Google Play's official Data Safety guidelines, "Data Collection" means transmitting data off the user's device to the developer or a third party. Because no single piece of user data is ever sent out of your device, Vajra TTS collects zero data and shares zero data:
| Data Category | Collected (Sent Out of Device)? | Shared with Third Parties? | What Actually Happens on Your Device |
|---|---|---|---|
| Spoken Text, Articles & Screen Reader Output | No — 0% Sent Out | No — Never Shared | 100% Offline RAM Only Processed instantaneously in device memory (RAM) to detect languages/scripts and synthesize speech. Immediately discarded after speaking; never saved or transmitted. |
| Accessibility Events, UI Focus & Keyboard Typing | No — 0% Sent Out | No — Never Shared | 100% Offline RAM Only Used locally by VajraAccessibilityService to switch Per-App Speech Profiles, play navigation earcons, and speak Delayed Keyboard Phonetics (NATO alphabet). Never logged or saved. |
| Notifications (Incoming Calls, UPI Payments, SMS OTPs) | No — 0% Sent Out | No — Never Shared | 100% Offline RAM Only Read in memory only when you turn on the respective announcer feature to speak caller names, credited UPI payment amounts (Sound Box mode), or 4–8 digit OTP codes aloud. Never stored on disk or uploaded. |
| Contacts (Saved Caller Name Lookup) | No — 0% Sent Out | No — Never Shared | 100% Offline Local Lookup Optional READ_CONTACTS permission queries Android's local ContactsContract.PhoneLookup on-device during an incoming call solely to speak the saved contact name. Never copied, saved, or transmitted. |
| Incoming Call Phone Number (Lockscreen / Screen Off) | No — 0% Sent Out | No — Never Shared | 100% Offline RAM Only Optional VajraCallScreeningService receives the incoming number from Android Telecom when the screen is off so the caller can be announced aloud. Never blocks calls, never logs call history, and never leaves the device. |
| Installed Applications & Installed TTS Engines | No — 0% Sent Out | No — Never Shared | 100% Offline Local Only Queried locally via QUERY_ALL_PACKAGES so you can select installed TTS engines for language routing and pick installed apps for Per-App Speech Profiles. Never transmitted off-device. |
User Settings, Dictionary Rules, .wav & .vajra Files |
No — 0% Sent Out | No — Never Shared | 100% Local Storage Stored locally in Android Jetpack DataStore (vajra_settings) or saved by you to your device's Downloads/Vajra/ and Downloads/vajra/backups/ folders. |
| Personal Identity (Name, Email, Phone, Address), Location, Camera, Microphone, Analytics & Crash Logs | No — 0% Sent Out | No — Never Shared | Never requested, never accessed, and never collected. |
3. Complete Feature Breakdown & What Happens Inside the App
In accordance with the in-app Vajra TTS Help & Guide, here is a complete, module-by-module explanation of every feature in Vajra TTS and how data is handled strictly offline on your device:
3.1 Home & The 4 Language Detection Modes (VajraService)
- System TTS Bridge: When selected as your phone's Preferred Text-to-Speech Engine,
VajraServicereceives text requests from your screen reader (TalkBack, Jieshuo/CSR, Commentary, Voice Assistant) or reading apps and dynamically routes each phrase to the best voice and engine installed on your phone without stutter or buffering. - Four Offline Detection Modes:
- Dual Language Mode: Switches seamlessly mid-sentence between your chosen Primary language (Latin script) and Secondary language (native script).
- Automatic Detection Mode: Dynamically analyzes multilingual sentences and routes each detected language to its assigned engine and voice across 69+ supported Indian and international languages.
- Script-Based Detection Mode: Routes character-by-character based deterministically on Unicode character blocks (Devanagari, Tamil, Telugu, Bengali, Gujarati, Malayalam, Kannada, Gurmukhi, Odia, Arabic, Cyrillic, CJK, Latin, etc.) powered by our native C++17 engine (
libvajra_native.so). - Google TTS Mode: Routes English and supported Indian languages directly through the local Google Speech Services engine while preserving your multi-engine settings.
- Interactive Test Speech Playground: Any text typed or pasted into the Home screen's Test Speech box is synthesized strictly in local memory and is never stored or transmitted.
3.2 Voices, Engines & Smart Number / OTP Reading Settings
- Engine & Voice Assignment: Lets you pair each language with any compatible TTS engine installed on your device (Google Speech Services, Vocalizer, RHVoice, Samsung TTS, eSpeak NG, Hear2Read Indic voices, Eloquence) or Vajra's built-in Blue Stone offline neural voices.
- Number Reading Modes: Formats numbers locally in RAM before speaking according to your chosen mode: Normal (whole values), Group of Digits (2-digit or 3-digit clusters with optional breathing pauses), or Digit by Digit, using either the context language or a dedicated Number Reading Language and custom number speech rate.
- Read OTPs Digit by Digit: Automatically detects numeric verification sequences in text being spoken and reads them as separated single digits (e.g.,
4 9 2 8 0 1). All formatting occurs 100% in local RAM.
3.3 Announcements Suite (Incoming Calls, UPI Payment Sound Box & SMS OTPs)
- Incoming Call Announcer (Cellular & VoIP): Announces incoming cellular phone calls and VoIP calls from supported apps (WhatsApp, Telegram, Messenger, Skype, Microsoft Teams, Google Meet, Signal, Viber, Imo, Instagram, Discord, Snapchat, Truecaller) with customizable templates, repeat counts (Once, Twice, Thrice, Continuous), repeat intervals, initial delay, ringtone volume ducking, and custom audio stream routing.
- UPI Payment Announcer (Digital Sound Box Mode): Designed for shopkeepers, business owners, and blind users, this feature detects incoming credited payment notifications from UPI apps (PhonePe, Google Pay, Paytm, BHIM, Navi, Amazon Pay, CRED, Freecharge, MobiKwik, BharatPe, Samsung Pay, Slice, Jupiter, Fi Money), banking apps (SBI YONO, HDFC, iMobile, Axis, Kotak, bob World, PNB One, Canara, Union, IndusMobile, IDBI, RBL, YES BANK, FedMobile), and bank credit SMS notifications to speak the received amount aloud. It strictly ignores regular chat messages and outgoing/debit alerts.
- SMS OTP Announcer: Detects incoming notifications containing one-time passwords or login verification codes and immediately speaks the 4-to-8-digit code aloud digit-by-digit.
- 100% Offline Ephemeral Processing: Caller names, phone numbers, UPI payment amounts, and OTP codes are processed strictly in volatile RAM at the moment the notification arrives and are never written to files, logged, or sent out of the device.
3.4 Per-App Speech Profiles
- Automated Per-App Customization: Lets you create custom profiles (e.g., "Reading Books", "Chat Apps", "Email") assigning one or more installed apps to custom detection modes, speech rates (or Follow System Rate), pitches, and primary/secondary voices.
- Local Foreground Detection: When
VajraAccessibilityServicedetects a foreground app change locally on your phone, Vajra switches to that app's speech profile in memory and restores your global default settings when you leave the app.
3.5 Dictionary, Smart Normalizers & Delayed Keyboard Phonetics
- Punctuation & Symbol Verbosity: Locally controls whether punctuation marks are skipped (None), selectively spoken (Some), or fully spoken (All), with optional condensation of repeated punctuation (e.g.,
!!!!!) and pauses after punctuation. - Date & Time Natural Formatter: Expands numeric dates (such as
18/08/2026or2026-08-18) in memory so they are spoken naturally as "18 August 2026". - Delayed Keyboard Phonetics (NATO Alphabet): When typing on an on-screen keyboard (such as Gboard or TalkBack Braille keyboard) or reading character-by-character, Vajra waits for your configured pause delay (200ms–2000ms) and speaks the NATO phonetic word (e.g., "Bravo" for B). Processed strictly in RAM one character at a time; never logs or stores typed text.
- Custom Pronunciation Replacement Rules: Applies your user-defined word, acronym, symbol, or regex replacements (with Case Sensitive and Whole Word matching options) locally in RAM before speech synthesis.
3.6 Smart Cues, Audio Output Routing & Screen Reader Navigation Sounds
- Physical Audio Device Output Routing: Routes TTS and earcon audio locally to Auto, Phone Speaker, Wired Headphones, Bluetooth Headset, or Phone Earpiece (allowing private screen reader listening in public places without headphones).
- Smart Sound Triggers & URL Replacement Modes: Plays built-in or custom earcons (Studio, Minimal, Screen Reader Pro, or Classic sound packs) when text contains a WhatsApp "Read More" marker, Web Link / URL (with options to speak the full URL, speak "Link" only, speak the domain name only, or mute the URL), Phone Number, Email Address, Emoji, or Capital Letter (pitch boost or click sound).
- Screen Reader Navigation Sound Themes: Plays low-latency sound feedback (VoiceOver, TalkBack, Jieshuo, or Classic themes) for touch exploration gestures locally on the device.
3.7 Text to Audio Converter (.wav) & Backup / Restore (.vajra)
- Text to Audio Converter: Synthesizes user-entered or clipboard-pasted text into high-quality
.wavaudio files locally on your device, with 50-character preview, full playback controls, saving toDownloads/Vajra/, and optional one-tap sharing. - Backup & Restore (
.vajra): Exports and restores your complete Vajra TTS configuration locally via SHA-256 integrity-verified.vajrafiles stored inDownloads/vajra/backups/.
4. Prominent Disclosure: AccessibilityService API (Vajra Companion)
VajraAccessibilityService)
Vajra TTS is a dedicated accessibility tool (declared with android:isAccessibilityTool="true" in its service configuration) built for blind and visually impaired screen reader users. Enabling the "Vajra Companion" Accessibility Service (com.techassistantforblind.vajratts.service.VajraAccessibilityService) is completely optional and is under your full control in Android Accessibility Settings.
4.1 Why Vajra TTS Uses the AccessibilityService API
Standard Android Text-to-Speech engines do not know which app is currently on screen, cannot play gesture navigation sound themes, cannot detect when you pause on a keyboard key for phonetic confirmation, and cannot announce incoming calls, UPI payments, or OTP notifications automatically. When you explicitly enable Vajra Companion, it processes the following accessibility events 100% offline in local device memory (RAM):
TYPE_WINDOW_STATE_CHANGED&TYPE_WINDOWS_CHANGED: Detects the active foreground application package name to automatically apply your Per-App Speech Profiles, detects whether an on-screen keyboard (IME) is open for Delayed Keyboard Phonetics, and detects incoming call screens.TYPE_VIEW_TEXT_CHANGED,TYPE_VIEW_TEXT_SELECTION_CHANGED&TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY: Detects single-character typing and character-by-character screen reader navigation to speak Delayed Keyboard Phonetics (NATO Alphabet) after your configured pause delay.TYPE_VIEW_ACCESSIBILITY_FOCUSED,TYPE_VIEW_FOCUSED,TYPE_VIEW_CLICKED,TYPE_VIEW_LONG_CLICKED,TYPE_VIEW_SCROLLED&TYPE_ANNOUNCEMENT: Plays real-time auditory earcons when you enable Screen Reader Navigation Sound Themes.TYPE_NOTIFICATION_STATE_CHANGED: Reads incoming notification text in memory—only when enabled by you—to speak Incoming Caller Names, Credited UPI / Bank Payment Amounts (Sound Box Mode), and 4–8 Digit SMS OTP Verification Codes.
4.2 Strict Legal & Technical Restrictions on Accessibility Data
- No Data Leaves the Device: No data accessed via the AccessibilityService API is ever transmitted, uploaded, or shared outside your device.
- No Persistent Logging or Storage: Vajra Companion never writes screen content, window titles, typed text, passwords, notifications, financial amounts, or OTP codes to disk, databases, or log files. Only a tiny, temporary deduplication list in volatile RAM (up to 50 payment entries and a 24-hour RAM-only TTL for OTPs) is held to avoid repeating simultaneous alerts, and it is completely erased when the service stops or the device restarts.
- No Automated Clicking or Settings Manipulation: Vajra Companion is strictly read-only for assistive audio/speech feedback. It never performs clicks, gestures, call blocking, or covert system changes.
5. Android Permissions & System Roles Disclosure
Every permission declared in Vajra TTS's AndroidManifest.xml serves a specific, transparent, user-facing assistive function and operates without sending any user data off the device:
| Permission / System Role | Grant Type | Exact Purpose & Offline Privacy Guarantee |
|---|---|---|
android.permission.READ_CONTACTS |
Optional Runtime Permission | Requested only if you explicitly turn on "Saved Contact Names (Optional)" in the Incoming Call Announcer. Used strictly offline during an incoming call to query Android's local ContactsContract.PhoneLookup API on your phone so Vajra can speak the saved contact's name when the dialer notification omits or redacts it. Contacts are never copied, saved to files, backed up, or sent out of your device. |
android.telecom.CallScreeningService(Caller ID & Spam Role — VajraCallScreeningService) |
Optional Android 10+ System Role | Requested only if you enable screen-off/lockscreen caller announcements. When a phone is locked, Android often hides the caller's name/number from notifications. Holding the Caller ID role allows VajraCallScreeningService to receive the incoming phone number (callDetails.handle) directly from Android Telecom in RAM to announce the caller aloud. Vajra TTS explicitly allows every call through untouched (setDisallowCall(false), setRejectCall(false), setSkipCallLog(false), setSkipNotification(false)) and never stores or transmits call data. |
android.permission.QUERY_ALL_PACKAGES |
Manifest Permission | Required on Android 11+ (API 30+) solely to discover all installed third-party TTS engines on the phone and to populate the local installed-apps picker for Per-App Speech Profiles. Processed 100% locally on your device; package lists are never transmitted externally (see Section 6). |
android.permission.INTERNET &android.permission.ACCESS_NETWORK_STATE |
Manifest Permission | Used exclusively when you manually open the Vajra Blue Stone Voice Manager and tap download to fetch optional offline neural TTS voice models (.onnx and .onnx.json files) over HTTPS. Never used in the background and never used to send any user data out of the device (see Section 7). |
android.permission.FOREGROUND_SERVICE &android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK |
Manifest Permission | Keeps the system speech synthesizer (VajraService) active in memory so screen reader users who depend on continuous voice output to operate their device never experience sudden speech cutoffs or latency. |
android.permission.RECEIVE_BOOT_COMPLETED |
Manifest Permission | Allows VajraBootReceiver to load your local preferences and pre-warm configured TTS engines immediately upon device startup (BOOT_COMPLETED, QUICKBOOT_POWERON, MY_PACKAGE_REPLACED) so blind users have immediate speech feedback after rebooting. |
android.permission.MODIFY_AUDIO_SETTINGS |
Manifest Permission | Used locally by VajraAudioRouter to route speech and earcons to your selected audio hardware (Auto, Phone Speaker, Phone Earpiece, Bluetooth/Wired Headset) and to temporarily duck ringtone volume during incoming call announcements. |
android.permission.WAKE_LOCK |
Manifest Permission | Acquires a temporary partial CPU wake lock (strictly limited to a maximum 60-second safety timeout) during screen-off incoming call announcements so the spoken announcement is not cut off by CPU sleep. |
6. Package Visibility (QUERY_ALL_PACKAGES) Disclosure
In strict compliance with Google Play's Package Visibility Policy, Vajra TTS declares android.permission.QUERY_ALL_PACKAGES (alongside specific <queries> intents for TTS_SERVICE, CHECK_TTS_DATA, INSTALL_TTS_DATA, GET_SAMPLE_TEXT, and MAIN/LAUNCHER) for two core, user-facing assistive features on Android 11 (API 30) and above:
- Universal Third-Party TTS Engine Discovery: Many regional Indian and specialized accessibility TTS engines do not expose standard metadata discoverable through narrow intent queries alone. Package visibility ensures Vajra TTS can detect all compatible TTS engines installed on your phone so you can assign them to individual languages.
- Per-App Speech Profile App Picker: Enables the App Profiles screen to display your installed applications locally so you can select which apps should automatically trigger custom speech rates, pitches, and voices when opened.
Zero External Transmission: Your device's installed package list is processed 100% locally in memory, is never saved to external files, is never used for advertising or analytics, and is never sent out of your device.
7. Why INTERNET Permission Is Declared (Optional Offline Voice Downloads Only)
android.permission.INTERNET?
All speech synthesis, language detection, accessibility announcements, and tools in Vajra TTS run 100% offline. The INTERNET and ACCESS_NETWORK_STATE permissions exist in the manifest solely so that users who wish to download optional built-in Vajra Blue Stone offline neural voices (such as Hindi, Marathi, Gujarati, Bengali, Telugu, Tamil, Malayalam, and Urdu Piper/VITS .onnx models) can download those large voice model files after installing the lightweight app instead of bloating the initial Google Play APK download size by hundreds of megabytes.
- 100% User-Initiated Download Only: A network connection is made only when you explicitly open the Vajra Blue Stone Voice Manager dialog and tap the Download button next to a voice model.
- One-Way Static File Download (Zero Outbound User Data): The app performs a standard HTTPS
GETrequest (HttpURLConnectionwith generic headerUser-Agent: VajraTTS/1.1) to Hugging Face (https://huggingface.co/...) to fetch the static.onnxneural model and its.onnx.jsonphoneme map into private internal app storage (app_piper/models). - Zero Background Network Activity: Once downloaded, the Blue Stone neural voices run 100% offline on your phone's CPU via the local ONNX Runtime. Vajra TTS never connects to the internet in the background and never sends any user data out of your device.
8. Local Storage, Audio Exports (.wav) & Configuration Backups (.vajra)
All persistent data created by Vajra TTS stays strictly on your device under your ownership:
8.1 Local Preferences & Internal App Sandbox
- Jetpack DataStore (
vajra_settings) & Fast-Boot Preferences (vajra_boot_prefs): Stores only your non-personal configuration settings (language-to-voice assignments, speech rates, pitches, number reading modes, pronunciation dictionary rules, smart audio cue toggles, announcer preferences, and per-app profile rules) inside Android's private, sandboxed storage (Context.MODE_PRIVATE). - Internal Engine Assets: Stores extracted offline
espeak-ng-dataphoneme definitions and any downloaded.onnxvoice models inside private internal storage (filesDirandapp_piper/models). - Standard Android OS Backup (
android:allowBackup="true"): Allows the Android operating system to include your app settings in your standard device backup if you have Android System Backup enabled on your phone.
8.2 Text to Audio Converter (.wav Files) & Explicit Clipboard Paste
- 100% Local Audio Synthesis: When you convert text to audio in the Text to Audio Converter, the
.wavaudio is synthesized locally on your device. Temporary preview files are placed in private app cache (cacheDir/converter_audio) and automatically cleaned up. - Explicit User-Triggered Clipboard Access Only: Vajra TTS reads the system clipboard (
ClipboardManager) only at the exact moment you manually tap the "Paste from Clipboard" button inside the Converter screen. It never accesses the clipboard automatically or in the background. - User-Controlled Saving & Sharing: Tapping "Save Audio File" writes the
.wavfile locally to your device'sDownloads/Vajra/directory (using Android's scopedMediaStore.DownloadsAPI without requiring broad storage read permissions). Tapping "Share Audio" opens Android's system Share Sheet viaandroidx.core.content.FileProviderso you can share the file only if and where you choose.
8.3 Configuration Backup & Restore Files (.vajra)
- Local Backup Creation: Tapping "Backup Settings (.vajra)" packages your Vajra TTS settings into a JSON-formatted
.vajrafile protected with a SHA-256 cryptographic checksum and saves it locally toDownloads/vajra/backups/(and mirrors it in app-private storage for quick access). - No Personal Data in Backups: A
.vajrabackup file contains only your app configuration settings, voice mappings, dictionary rules, audio cues, and per-app profiles. It never contains contacts, notifications, call history, or personal identifiers. - User-Initiated Sharing & Deep-Link Restore: Backups are never uploaded anywhere automatically. They leave your device only if you explicitly tap "Share Backup (.vajra)" and choose a recipient in the Android Share Sheet. When you open or import a
.vajrafile, Vajra verifies its SHA-256 checksum locally before restoring your chosen settings.
9. Data & Permissions Explicitly NOT Collected or Requested
Vajra TTS is engineered with strict privacy boundaries. The application does NOT request and does NOT access any of the following permissions or data types:
- No Direct SMS Permissions: Does not request
READ_SMS,RECEIVE_SMS, orSEND_SMS. - No Call Log Permissions: Does not request
READ_CALL_LOG,WRITE_CALL_LOG, orPROCESS_OUTGOING_CALLS. - No Microphone / Voice Recording Permission: Does not request
RECORD_AUDIO. Vajra TTS only outputs speech audio; it can never listen to or record your microphone. - No Camera or Media Library Permissions: Does not request
CAMERA,READ_MEDIA_IMAGES,READ_MEDIA_VIDEO, orREAD_MEDIA_AUDIO. - No Location Permissions: Does not request
ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION, orACCESS_BACKGROUND_LOCATION. - No Contact Modification or Account Permissions: Does not request
WRITE_CONTACTSorGET_ACCOUNTS. - No Advertising ID or Tracking Identifiers: Does not request
com.google.android.gms.permission.AD_IDand never reads IMEI, MAC addresses, or serial numbers.
10. Third-Party TTS Engines, Embedded Libraries & External Links
10.1 Local Interoperability with Installed Third-Party TTS Engines
Vajra TTS routes text segments locally on your device to third-party Text-to-Speech engines that you have independently installed on your Android phone (such as Google Speech Services, Vocalizer, RHVoice, Samsung TTS, eSpeak NG, Hear2Read, or Eloquence) via Android's standard system android.speech.tts.TextToSpeech API. While Vajra TTS itself performs all routing 100% offline and never transmits data externally, any third-party TTS engine you install and use is governed by its own respective developer's privacy policy and offline/online voice settings.
10.2 Embedded Libraries (100% Offline On-Device Execution)
Vajra TTS bundles only essential open-source runtime libraries that execute strictly on your device with zero network telemetry:
- AndroidX, Jetpack Compose & Jetpack DataStore (Google): Renders the accessible Material 3 user interface and stores local settings on-device.
- Kotlin Coroutines (JetBrains): Manages local asynchronous speech synthesis threads.
- Microsoft ONNX Runtime for Android (
com.microsoft.onnxruntime:onnxruntime-android): Runs downloaded offline Piper / VITS neural voice models locally on your device's CPU. - Embedded eSpeak NG (
libttsespeak.so) & Native C++17 Core (libvajra_native.so): Performs offline phonemization, Hinglish/Indic transliteration, Devanagari number normalization, and Unicode script detection in local memory.
10.3 Optional User-Initiated External Links
Inside the Help & Guide and Feedback tabs, we provide clearly labeled buttons that open external applications or web pages only when you explicitly tap them:
- YouTube Video Tutorials: Tapping "View Video Tutorial" opens our tutorial video/playlist on YouTube (
https://youtu.be/KBJO0I-SW84). - WhatsApp, Email & Community Support: Tapping the support buttons opens your email app (
mailto:info@techassistantforblind.com), WhatsApp (https://wa.me/919852568007), or our community page (https://techassistantforblind.com/groups). We only receive whatever message or contact details you voluntarily send us when reaching out for help or feedback.
11. Data Security & Local Runtime Anti-Tampering Protection
Because screen reader users rely on their Text-to-Speech engine for every interaction on their smartphone, Vajra TTS incorporates strong local security measures:
- 100% On-Device Containment: The strongest data protection is never transmitting your data over the internet. Because all speech, accessibility, call, payment, and OTP processing stays in local RAM on your device, your sensitive information cannot be intercepted or breached on a remote server.
- Sandboxed Storage & SHA-256 Checksums: Active preferences are isolated in Android's private app storage, and exported
.vajrabackup files are verified with a cryptographic SHA-256 checksum before restoration. - Local Anti-Tampering & Signature Integrity Check (
VajraSecurityManager&libvajra_native.so): To protect users against counterfeit, repackaged, or malware-injected APK builds, Vajra TTS performs a strictly local, on-device runtime check verifying the official release signing certificate and inspecting local process status (/proc/self/statusand/proc/self/maps) for unauthorized runtime tampering or hooking frameworks (such as Frida or Xposed). This security verification runs 100% locally in native C++ memory and never sends any device, diagnostic, or security telemetry out of your device.
12. Data Retention, User Controls & Complete Data Deletion
Because Tech Assistant for Blind collects and stores zero user data on external servers, we do not retain any server-side data about you. For all settings and files stored locally on your phone, you have immediate, complete control:
- One-Tap In-App Reset: Open Vajra TTS → tap More Options (top right) → tap "Reset to Defaults" and confirm. This immediately erases all saved preferences, voice assignments, dictionary rules, audio cues, announcer settings, and per-app profiles from local storage.
- Delete Downloaded Offline Voice Models: Open the Voices tab → Vajra Blue Stone Voice Manager → tap Delete next to any downloaded voice to remove its
.onnxfiles from internal storage. - Delete Exported Audio (
.wav) or Backup (.vajra) Files: Any files you saved toDownloads/Vajra/orDownloads/vajra/backups/can be deleted at any time using your phone's File Manager app. - Revoke Optional Permissions & Services Anytime: You can disable the Vajra Companion Accessibility Service in Android Settings → Accessibility, revoke the optional Contacts permission in Android Settings → Apps → Vajra TTS → Permissions, or remove the optional Caller ID & Spam role in Android Settings → Apps → Default Apps at any time without affecting core multilingual TTS functionality.
- Uninstall the Application: Uninstalling Vajra TTS permanently deletes all internal app preferences, caches, and downloaded voice models from your Android device.
13. Children's Privacy, Legal Terms & Global Regulatory Compliance
13.1 Children's Privacy (COPPA & GDPR-K Compliance)
Vajra TTS is an assistive technology tool suitable for blind and visually impaired users of all ages, including children and students. Because Vajra TTS operates 100% offline and does not collect, store, or transmit any personal information from any user, we never knowingly or unknowingly collect personal data from children under 13 (or the applicable age of consent in your country) in full compliance with the U.S. Children's Online Privacy Protection Act (COPPA) and GDPR-K.
13.2 Compliance with GDPR, UK GDPR, CCPA/CPRA & India DPDP Act 2023
In accordance with the Digital Personal Data Protection Act, 2023 (India), the General Data Protection Regulation (EU/UK GDPR), the California Consumer Privacy Act / CPRA (USA), and global data protection laws:
- No personal data is collected, processed on remote servers, profiled, sold, or shared with third parties or data brokers.
- All local on-device processing (such as optional contact name lookup or accessibility announcements) occurs strictly on your own device based on your explicit, revocable in-app and Android OS consent.
13.3 Intellectual Property & Proprietary Freeware License
Vajra TTS is provided free of charge for personal, non-commercial, and assistive use under the Proprietary and Confidential Freeware License of Tech Assistant for Blind / Vajra TTS. All source code, compiled binaries, C++ native libraries (libvajra_native.so), UI designs, logos, and documentation are protected by copyright law and may not be reverse-engineered, modified, or redistributed without prior written consent.
14. Changes to This Policy & Contact Information
We may update this Privacy Policy periodically to reflect new assistive features, Android platform updates, or Google Play compliance requirements. Any updates will be reflected by the "Effective & Last Updated" date at the top of this document. Our core commitment to 100% on-device privacy for blind and visually impaired users remains permanent.
If you have any questions, legal or compliance inquiries, accessibility feedback, or support requests regarding this Privacy Policy or Vajra TTS, please contact us through any of our official channels:
- Developer / Publisher Name: Tech Assistant for Blind
- Application Name: Vajra TTS (Accessibility Service: Vajra Companion)
- Android Package Name:
com.techassistantforblind.vajratts - Official Email: info@techassistantforblind.com
- WhatsApp Support & Helpline: +91 9852568007
- Official Website & Community Groups: https://techassistantforblind.com/groups