This Privacy Policy describes how Radixel (“the App”), published by AstraX (“we”, “us”), handles information when you use our mobile application on iOS and Android. Radixel is an offline-first integer calculator. We designed it to minimize data collection and to keep your calculation history on your device.
1. Information we collect
1.1 Information you provide indirectly through use
Radixel processes calculation expressions, numeric results, and bitwise operations entirely on your device to provide calculator functionality. When you use History, the App saves entries locally, including:
- Expression or operation description (for example
10 + 1or0x0F AND 0xF0) - Result value
- Category (Calculator or Bitwise)
- Timestamp
History is stored in on-device storage (AsyncStorage), capped at 300 entries per category (Calculator and Bitwise) and 600 entries total. Older entries are removed automatically when the limit is reached. History is not uploaded to our servers.
1.2 App preferences
The following settings are stored locally on your device (AsyncStorage) and are used only to configure the App for you:
- Theme (light or dark)
- Default word size on launch (8, 16, 32, or 64 bits)
- Default sign mode on launch (signed or unsigned)
- Copy format (raw or prefixed)
These preferences are not uploaded to our servers. On Android, automatic cloud backup for app data is disabled so history and settings are not copied into the system backup service.
1.3 Clipboard
When you tap a copy control on a base row, Radixel writes the selected value to your device clipboard using the system clipboard API. The App does not read clipboard contents. Clipboard access is initiated only by your explicit action.
1.4 Information we do not collect
- Name, email address, phone number, or other contact details (no account system)
- Precise location or coarse location
- Contacts, photos, camera, microphone, or calendar data
- Advertising identifiers for tracking or profiling
- Health, financial, or payment information
2. Permissions and platform disclosures
Radixel requests only the permissions needed for its core features and update mechanism. The table below reflects the App’s intended behavior for store review on iOS and Android.
| Permission / capability | Platform | Why it is used |
|---|---|---|
| Internet / network access | Android, iOS | Required to check for and download JavaScript application updates from our self-hosted Expo Updates CDN (see Section 3). Also used when you choose to open external HTTPS links (for example this Privacy Policy) in your browser. |
| Local storage on device | Android, iOS | Stores calculation history and app preferences on your device. No cloud sync. |
| Clipboard (write) | Android, iOS | Copies numeric values you select to the system clipboard. The App does not read clipboard data. |
Query URL schemes (https, http, tel, mailto) |
Android 11+, iOS | Declares which external link types the App may open via the system browser or dialer when you tap a link. Radixel does not collect data through these declarations. |
Radixel does not request access to location services, the camera, the microphone, contacts, calendar, SMS, phone call logs, Bluetooth, background sensors, device storage (files/photos), or overlay (“draw over other apps”) permissions. Where the Android build toolchain would otherwise merge legacy storage or overlay permissions, those entries are explicitly blocked in the App manifest so they are not granted at install time.
3. Self-hosted over-the-air (OTA) JavaScript updates
Radixel includes a custom, self-hosted over-the-air update
mechanism built on
Expo Updates
(expo-updates). This disclosure is provided for Apple App
Store and Google Play policy compliance and for transparency.
3.1 What OTA is used for
- Delivering JavaScript and asset bundle updates (UI and application logic) after a store binary has been installed.
- Fixing bugs and shipping minor improvements without requiring an immediate store release, within the same app version line.
- OTA updates do not replace the native app binary from the App Store or Google Play. Changes that require new native code, new permissions, or a new store listing still require a store update.
3.2 What OTA is not
- Radixel does not use Expo Application Services (EAS) Update or Expo’s commercial update hosting.
- OTA is not used to download executable native code outside the store distribution model.
- OTA is not used to collect personal information or to track users across apps or websites.
3.3 How updates are hosted and delivered
Update manifests and bundles are published to a static content delivery
endpoint on GitHub Pages, operated under the
radixel-ota repository:
-
CDN base URL:
https://ax108.github.io/radixel-ota/ -
Each installed native build is configured at build time with a
platform-specific manifest URL of the form:
…/android/<appVersion>/manifest.jsonor
…/ios/<appVersion>/manifest.json -
Runtime version is tied to the app version
(
runtimeVersion.policy: appVersion). A device only receives bundles published for its installed app version. -
On launch, when updates are enabled, the App checks for a newer
JavaScript bundle (
checkAutomatically: ON_LOAD). If a update is available, it is downloaded and applied on the next cold start (or immediately when configured to reload).
3.4 Data transmitted during OTA checks
When the App contacts the update CDN, standard HTTP(S) requests are made to fetch a manifest and, if needed, bundle and asset files. Typical request metadata may include:
- App platform (Android or iOS)
- Installed runtime / app version
- Standard network information handled by the hosting provider (for example IP address, user agent, timestamps in server logs)
These requests do not include your calculation history, expressions, clipboard contents, or account identifiers (Radixel has no accounts). We do not use OTA traffic for advertising or cross-app tracking.
3.5 Integrity and control
Expo Updates verifies update manifests according to the Expo Updates protocol and the signing configuration baked into the native build. You may continue using Radixel offline; update checks occur only when the App can reach the CDN. If an update check fails, the App continues with the last successfully loaded bundle.
4. How we use information
Information processed by Radixel is used only to:
- Perform calculations and bitwise operations you request
- Display values in multiple numeric bases
- Store local history and preferences on your device
- Copy values to the clipboard when you ask
- Check for and apply authorized JavaScript updates from our CDN
We do not use your data for advertising, profiling, or sale.
5. Sharing and third parties
Radixel does not share personal information with data brokers or advertising networks. Limited interaction with third-party infrastructure occurs only as follows:
- GitHub Pages — hosts OTA update manifests/bundles and this policy page. Subject to GitHub’s infrastructure and privacy practices for static hosting.
- Apple App Store / Google Play — distribute the native application. Store platforms may process information according to their own policies when you download or update the App.
6. Data retention and deletion
- History and preferences remain on your device until you use Reset app in Settings, clear app data through your device settings, or uninstall Radixel. On Android, Radixel does not opt in to automatic backup of app data to Google’s backup service.
- OTA server logs (if any) are maintained by the hosting provider under their standard retention practices. OTA requests do not include calculation content.
7. Children’s privacy
Radixel is a general-purpose utility and is not directed at children under 13 years of age. We do not knowingly collect personal information from children. If you believe a child has provided personal information through the App, contact us at hello@astrax.dev and we will assist with deletion of local data on the device.
8. Security
Calculation history and preferences are stored locally using the platform’s app sandbox. OTA bundles are delivered over HTTPS. No method of storage or transmission is completely secure; we encourage you to use device lock screens and to reset the App if you share your device with others and wish to clear history.
9. International users
Radixel is operated by AstraX. If you use the App outside your home country, your device may still connect to our update CDN and app store distribution services as described above.
10. Your choices
- Use Radixel offline to avoid OTA update checks (the App remains functional).
- Clear history and preferences via Reset app in Settings.
- Uninstall the App to remove locally stored data from your device.
- Disable automatic updates at the operating-system level if you prefer to control network access globally.
11. Changes to this policy
We may update this Privacy Policy from time to time. The effective date at the top of this page will change when we do. Material changes may also be noted in App Store or Google Play release notes. Continued use of Radixel after an update constitutes acceptance of the revised policy.
12. Contact
For privacy questions, support, or data-related requests regarding Radixel, contact AstraX:
- Website: https://astrax.dev/
- Email: hello@astrax.dev
- WhatsApp: Message AstraX
- GitHub (bug reports): github.com/Ax108/radixel/issues
Android application ID: com.astrax.radixel
iOS bundle identifier: com.astrax.radixel