Privacy Policy
Last Updated: June 13, 2026
This Privacy Policy describes our policies and procedures on the collection, use, framework storage, and disclosure of your information when you use our mobile application (the "Application"). It informs you about your privacy rights and how the law protects you.
We use your Personal Data to provide, maintain, and optimize the Application. By creating an account or using the Application, you agree to the collection and use of information in accordance with this Privacy Policy.
1. Information We Collect and How We Use It
Personal Account Data
To maintain your authenticated user profile and provide secure access to our courses, we collect and store:
- First Name & Last Name: Used to identify you within the system and personalize your app layout.
- Mobile Number: Used for secondary identity verification and communication.
- Email Address: Used as your unique primary account identifier.
- Profile Image: Used to personalize your dashboard interface. This is optional and manageable via your profile section.
- Account Security Credentials: Passwords must meet a strict safety threshold of a minimum of 8 characters/digits to safeguard against unauthorized access.
Note on Email Modifications: To protect the integrity of your academic/training records and secure session routing, email addresses cannot be modified or updated after registration.
Technical Data & Automated Collection
- Device Push Tokens: We utilize Firebase Cloud Messaging via Expo to issue a unique device push token. This allows us to send you push notifications regarding course status, updates, or account alerts. You can modify your notification settings at any time in your device preferences.
2. Secure Token Management & Protected Routes Architecture
To guarantee data privacy and restrict cross-endpoint visibility, our application strictly structures session authentication through JSON Web Tokens (JWT) using a dual-token workflow:
- Protected Route Enforcement: All high-privilege operations, course dashboards, and user details are hidden behind protected routes. Accessing these requires a valid, short-lived cryptographic authorization token.
- Dual-Token Strategy (Auth & Refresh): Upon signing in, the server generates a short-lived Access Token alongside a secure, long-lived Refresh Token. The Access Token authorizes instantaneous network requests, while the Refresh Token is held silently to request a new Access Token automatically when the older one expires, mitigating manual log-out disruptions.
- Local Secure Storage (AsyncStorage): Your active JWT credentials and matching authentication metadata are cached directly on your sandbox memory layout using
@react-native-async-storage/async-storage. This persistent storage boundary keeps your session safely context-cached without demanding credentials on every app boot.
- Automated Client Interceptors (Axios): Network tracking runs via
Axios clients configured with systematic HTTP interceptors. These interceptors automatically inject your active authentication headers into every outgoing protected route API request. If an endpoint throws an authorization challenge (such as a 401 token expiration error), the interceptor stops the loop, triggers a silent token refresh call, updates local storage, and retries the failed operation instantly without user intervention.
3. Localization and Intelligent S3 Synchronization
- Multilingual Translation & RTL Support: To provide an inclusive experience, the app offers localization for English, Hindi, and Arabic, utilizing an
i18n framework that automatically transitions your screen layout to a Right-to-Left (RTL) format when Arabic is selected.
- Delta-Based S3 Content Synchronization: Core translation configurations are securely hosted on an Amazon S3 bucket. To keep your app updated without heavy data usage, the Application runs a silent synchronization check once per day when launched for the first time. The app reads a remote configuration index file to compare file updates; individual language assets are only downloaded if a metadata timestamp change is detected. Stale or unused translation files are periodically removed automatically from local device caching layers to optimize device memory.
4. Sharing Your Personal Data
We prioritize your data privacy and only share data with third-party infrastructure services necessary to execute app tasks:
- Infrastructure & Cloud Engines: We leverage cloud environments (like Amazon S3 for hosting asset layers and translations) and Firebase for dispatching critical background messaging services.
- Legal Compliance: We may disclose your data if legally requested to do so by applicable judicial courts or government enforcement bodies.
5. Data Security
We implement rigorous technical controls to protect your data:
- All network traffic between your mobile device and our backend APIs is encrypted using Secure Sockets Layer (SSL/TLS).
- Access tokens are short-lived, minimizing risks associated with session hijacking.
However, no automated transmission or mobile database is 100% impenetrable. While we use industry-standard measures to safeguard your information, we cannot guarantee absolute security.
6. Third-Party Links
The App may display or contain redirects to external web resources. If you select a third-party link, you will leave our application environment. We strongly recommend reading the individual privacy terms of external websites, as we hold no control or liability over third-party tracking behaviors.
7. Changes to This Privacy Policy
We may update our Privacy Policy periodically to reflect infrastructure modifications. Any alterations will be marked dynamically by updating the "Last Updated" date at the top of this statement. You are encouraged to review this policy periodically to stay informed on how your information is protected.
8. Contact Us
If you have any questions or feedback regarding this Privacy Policy or your account data, please contact our support desk:
- By Email: support@talgro.com
- By Web Portal: https://www.talgro.com/