Legal & privacy

Privacy,
plainly stated.

Our core app features are designed to work offline, and your content stays on your device.

Effective date: November 2, 2026
Developer: AZ ModestSoft, an independent software developer
Contact: az.modestsoft@gmail.com

Privacy summary: Core app features are designed to work offline. User-created content stays on the user's device unless the user exports or shares it. MaenHuruf, AZ Maze Buddies on Android, and LastTimeTracker use limited non-advertising Google Analytics for Firebase as described in section 3. LastTimeTracker analytics requires opt-in consent. AZ ModestSoft does not sell user data.

Looking for AyahChain? Read its separate Android and Windows privacy policy.

Website language and country selection

The initial interface language is Indonesian for requests from Indonesia and English for other or unknown countries. You can choose either language manually or return to Automatic. Country detection uses Cloudflare's approximate request country, not GPS or browser-location permission; network routing or a VPN can affect it.

We remember only your language choice (Automatic, English or Indonesian) in a first-party cookie and a localStorage mirror named az-ui-language-v1. The cookie is set for up to one year; browser storage remains until you clear it. If storage is unavailable, the current page keeps the choice in memory. The language feature does not create a location history or send worksheet, search or laboratory content. This preference is separate from analytics consent.

Direct English or Indonesian page links retain their page language. Following one does not overwrite your saved preference; using the language selector does. Word-game content language is separate and new word exercises default to English.

On a science catalogue language switch, the current search and subject filter may be transferred through temporary browser-session storage and cleared after the destination opens. They are not sent to the server, URLs or analytics.

Website and browser-app analytics

This section applies to this website, including its science-lab list, and the browser versions of Midnight Rain, Arithmatic Exercise Generator, Word Search Studio, Scrambled Letter, Word Association, Crossword, Maze Generator, Secret Code Generator, Missing Letters Generator, Next Pattern Generator, Jangka Sorong (Vernier Caliper), Mikrometer Sekrup (Micrometer Screw Gauge), Hukum Ohm (Ohm’s Law), Massa Jenis (Density Lab), Lensa & Cahaya (Lens and Light Lab), Tekanan Hidrostatis (Hydrostatic Pressure Lab), Bandul Sederhana (Simple Pendulum Lab), Kalorimetri (Calorimetry Lab), Hukum Hooke (Hooke’s Law Lab), Hukum Archimedes (Buoyancy & Apparent Weight Lab), Titrasi Asam Basa (3D Acid–Base Titration Lab), and Kesadahan Air (Water Hardness Lab). Midnight Rain is an installable progressive web app (PWA); the worksheet generators and science labs are regular websites. Optional Google Analytics 4 loads only after you select Accept analytics. Before acceptance, we do not record visit events or load the Google Analytics tag. You can decline and continue using the site or app.

After acceptance, analytics may receive the page or app visited, the opening time, whether it opened in a browser or installed mode, whether the browser reported being online or offline, approximate location, browser and device information, and a cookie identifier. We count a page load and, for PWAs, a fresh opening or a return after at least 30 minutes away. Your custom words, worksheet titles and questions, measurements, practice codes, answers, files, audio settings, and other app content are not included. We do not use this tag for advertising personalization. See the Google Privacy Policy.

Consented visit events can be buffered locally in IndexedDB, up to 500 events across these pages and apps on the same website origin, for no more than 71 hours. We retry delivery when the app is open and a connection is available, preserving the event's original time. Expired events are deleted. Events cannot be reported if the device never reconnects, storage is cleared, or delivery is blocked. Loading from the offline cache alone does not mean the device is disconnected.

The website's Cloudflare Worker relays visit events to Google Analytics. Its short-lived delivery records contain a random event identifier, a payload hash, delivery status and expiry, and are removed during subsequent analytics requests after expiry. The relay does not store your app content, IP address, or full event payload in this database. Cloudflare and Google receive network requests as necessary to provide their services.

Your choice is shared by these website pages and browser apps on the same origin. Use Analytics settings in the footer or app controls to change it, including offline. Declining stops further collection and clears pending local events and the locally cached analytics identifier; a request already sent cannot be recalled. Existing Google Analytics cookies may remain until they expire or you clear them. This expanded browser-app choice is requested again even if you previously accepted website-only analytics. Native Android and Windows app practices are described separately below.

Website and science-lab advertising

The homepage, worksheet-generator collection, science-lab collection, published Water Cycle science articles, and the English Moon Phases science article load Monetag vignette advertising. Other separate browser apps remain ad-free, In-Page Push advertising remains disabled, and advertising trial pages remain removed. The third-party script controls the displayed ads and its own network requests; AZ ModestSoft does not attach worksheets, practice codes, student answers, simulation controls, or search text to the integration.

Advertising is separate from optional Google Analytics: your analytics choice controls analytics, not Monetag ads. Monetag may process technical information such as your IP address, browser/device information and identifiers under its privacy policy. These browser practices do not change the separate native Android and Windows app practices below.

1. Apps covered by this policy

This Privacy Policy applies to the following applications published by AZ ModestSoft:

  • Expiry Watch (Windows)
  • AZ QR Toolkit (Windows)
  • AZ Duplicate File Finder (Windows)
  • AZ PDF Toolkit (Windows)
  • ArithmaDrill: Math Exercises (Android)
  • Cart Tactics (Windows and Android)
  • MaenHuruf (Android, com.maenhuruf.app)
  • BukuMemori
  • LastTimeTracker (com.azmodestsoft.lasttimetracker)
  • AZ Maze Buddies (Android, com.azmodesoft.azmazebuddies, and Windows)

2. Information stored on the device

The apps may store information needed for their features, such as settings, preferences, learning or gameplay progress, diary or book content, document names and expiry dates, images, attachments, and other content entered or selected by the user. This information is stored locally within the app or in a location selected by the user.

The apps do not upload this user-created content to servers operated by AZ ModestSoft and do not provide AZ ModestSoft-operated account registration or cloud synchronization.

3. Information collected or shared by AZ ModestSoft

The apps do not send user-created content, precise location, contacts, messages, photos, or files to AZ ModestSoft. MaenHuruf, AZ Maze Buddies on Android, and LastTimeTracker use the limited usage analytics described below; other covered apps do not collect app-usage analytics.

The apps do not sell or share user-created content with advertisers or data brokers. They show no advertising and do not use advertising or profiling services.

MaenHuruf and Google Analytics for Firebase

MaenHuruf uses Google Analytics for Firebase, a service provided by Google, to help AZ ModestSoft understand how the app is used in aggregate, for example how many devices open the app, which app versions are in use, and whether updates and purchases work correctly. MaenHuruf uses the service's standard automatic collection and does not send custom analytics events of its own.

When the device is online, the Firebase SDK may send Google information such as a Firebase app-instance identifier, app version, device model, operating-system version, device language, approximate country or region derived from the network connection, and automatically recorded events such as first open, session start, engagement time, screen views, app updates, and in-app purchase events.

MaenHuruf configures Firebase so that it does not collect the Android Advertising ID or the Android ID, and advertising-personalization signals are disabled. The advertising-ID permissions that the Firebase library would otherwise add are removed from the app. MaenHuruf does not send names, words or collections the user creates, images selected from the gallery, backup files, or gameplay answers to Firebase or to AZ ModestSoft.

AZ ModestSoft sees this information only as reports in the Firebase console and does not use it to identify individual users or children. Google processes the information under the Firebase privacy information and the Google Privacy Policy, and retains it according to the project's Google Analytics data-retention settings. Uninstalling MaenHuruf stops any further collection.

AZ Maze Buddies and Google Analytics for Firebase

The Android version of AZ Maze Buddies uses Google Analytics for Firebase in the same way and with the same configuration as MaenHuruf: it does not collect the Android Advertising ID or the Android ID, advertising-personalization signals are disabled, and the advertising-ID permissions are removed from the app. In addition to the automatically recorded events described above, it records a few gameplay events so AZ ModestSoft can see whether the Adventure is too hard or too easy: an Adventure level number when a level starts, the level number, medal, and whether the shortest route was used when a level is completed, a chapter number when a chapter is completed, that the Premium screen was opened, and the outcome of a Premium purchase attempt (for example, completed or cancelled).

These events contain numbers and fixed labels only. AZ Maze Buddies does not send buddy choices, maze designs made in the maze workshop, names, or any text to Firebase or to AZ ModestSoft. The Windows version of AZ Maze Buddies does not use analytics.

LastTimeTracker and optional Google Analytics for Firebase

From version 1.1.1, LastTimeTracker analytics starts disabled and is enabled only after the user allows it. Declining does not restrict app features. The user can change this choice in Settings. After consent, Google may receive screen views, sessions, fixed feature-use events (recording an activity or scheduling, confirming, or discarding a plan), an app-instance identifier, app/device information, approximate location derived from masked IP addresses, and automatically detected in-app purchase events including product information and price. AZ ModestSoft uses Analytics reports to improve the app.

LastTimeTracker never includes activity names, notes, search text, recorded activity dates, local history analysis, or backup contents in Analytics events. Advertising ID and Android ID collection, advertising consent, and advertising personalization are disabled; advertising-ID permissions are removed. Turning analytics off stops future collection and resets local Analytics data and identifiers, but does not automatically delete data already processed by Google. Retention follows the GA4 property's configured period. For privacy or deletion questions, contact az.modestsoft@gmail.com. Google processes this data under the Google Privacy Policy linked above.

To request deletion of LastTimeTracker analytics data, email az.modestsoft@gmail.com with the subject LastTimeTracker data deletion. Requests are handled manually; do not send activity names, notes, or backup files. Turning analytics off stops future collection but is not itself a server-deletion request.

Data handled entirely on the user's device is not available to AZ ModestSoft. Features or third-party services added in a future version will be disclosed in an updated version of this policy and in the applicable store privacy declaration.

4. Device permissions

Depending on the app and the feature used, an app may request access to device functions such as notifications, files, photos, media, the camera, the clipboard, or a capture of the screen. Such access is used only to provide the feature requested by the user, for example selecting an image, attaching a file, scanning a QR code, exporting content, or scheduling a local reminder.

Permission choices can be reviewed or changed through the device's system settings. Denying an optional permission may prevent the related feature from working but should not affect unrelated features.

5. Exporting, backing up, and sharing

Some apps may allow the user to export, back up, print, or share content. The app transfers that content only when the user initiates the action and chooses a destination, application, storage location, or recipient.

After content leaves the app, its handling is controlled by the selected destination or third-party application and is subject to that party's privacy practices. Copies stored in device backups, shared folders, removable storage, or third-party cloud services must be deleted separately by the user.

Android, Google, Windows, or Microsoft may provide device-level backup or synchronization features depending on the app, the user's device, and platform settings. Such services are operated by the relevant platform provider, not by AZ ModestSoft.

ArithmaDrill-specific sharing and backup behavior

ArithmaDrill stores exercise profiles, settings, results, and progress locally. When the user chooses to share a result, ArithmaDrill creates an anonymous result image locally and passes it to an application selected by the user through Android's sharing interface. AZ ModestSoft does not receive a copy. The selected application processes the image according to its own privacy policy.

The anonymous result image contains the displayed score and arithmetic configuration. It does not contain a user or child name, custom profile name, account or device identifier, exercise date or time, individual questions or answers, complete exercise history, purchase information, or user-entered free-form text.

ArithmaDrill can also export exercise history as a CSV file. Unlike the anonymous result image, this user-requested export intentionally contains the selected exercise and answer history. ArithmaDrill transfers either file only after the user confirms the action and chooses a receiving application. Cancelling Android's sharing interface sends nothing.

ArithmaDrill disables Android cloud backup and device-to-device transfer for its private app data. Profiles, settings, history, and progress therefore remain on the current device and are not restored automatically after uninstalling the app or moving to another device. A user may use the CSV export feature when a portable copy of exercise history is wanted.

LastTimeTracker-specific data and reminder behavior

LastTimeTracker stores activity names, occurrence dates and times, optional notes, settings, and locally calculated history and analytics in a SQLite database on the user's device. This information is used to show when an activity last occurred, suggest previously recorded activities, calculate typical intervals, identify unusually early or late occurrences, and provide on-device recommendations.

If the user enables reminders, LastTimeTracker uses Android notifications and scheduled device events to present reminders on the device. It may receive the device boot-completed event so enabled reminders can be scheduled again after a restart. Activity records, notes, analytics, and reminder content are not transmitted to AZ ModestSoft or to an AZ ModestSoft-operated server. Android cloud backup and device-to-device transfer are disabled for LastTimeTracker app data.

LastTimeTracker can create a backup file when the user chooses "Back up" in Settings. The file is a copy of the app's local database: activities, occurrence dates and times, notes, scheduled activities, and reminder choices. It does not contain purchase details or Premium status. Android's save dialog lets the user choose where to store the file, such as a folder on the device or a cloud storage provider available on the device. LastTimeTracker does not upload the file itself, and AZ ModestSoft does not receive a copy. The backup file is not encrypted, so the user should keep it somewhere they trust.

The user can restore a backup from Settings. LastTimeTracker checks the selected file on the device and asks for confirmation before replacing the app's current data. Premium ownership is restored separately through Google Play.

Expiry Watch-specific data behavior

Expiry Watch stores document names, expiry or renewal dates, notes, settings, and related records locally in a SQLite database on the user's Windows device. This information is used to organize time-sensitive records and calculate their status. Expiry Watch does not upload these records to AZ ModestSoft or Microsoft Store.

AZ Duplicate File Finder-specific data behavior

AZ Duplicate File Finder scans folders chosen by the user on the Windows device. It compares files locally and does not upload files or scan results. It stores preferences and the last selected folder locally. When files are deleted, it writes a local log containing technical details including file paths; crash logs may also contain technical details. These logs are not sent to AZ ModestSoft.

Cart Tactics-specific data behavior

Cart Tactics stores gameplay progress locally in a single file inside the app's private storage on the user's Android or Windows device. That file holds completed stage records and best results, the most recently used generated-challenge settings, and whether Advanced Challenge access has been unlocked. The selected interface language, English or Bahasa Indonesia, is stored in the platform's app-settings storage.

Cart Tactics does not ask for a name, email address, or account, and stores no free-form text entered by the user. It has no export, share, print, or sign-in feature of its own, so it does not transfer gameplay data to another application.

On Android, Cart Tactics leaves the platform's standard app-data backup enabled. Gameplay progress may therefore be included in the backup or device-to-device transfer provided by Android and Google, depending on the user's device and account settings. That service is operated by the platform provider, not by AZ ModestSoft. On Windows, progress stays in the app's local data folder and is removed when the app is uninstalled.

AZ QR Toolkit-specific data behavior

AZ QR Toolkit makes no network connections. Codes the user creates and scans are kept in a local history database in the app's data folder, and settings are kept in Windows app settings. History can be switched off, and entries can be deleted individually or all at once. Two-factor authentication secrets (otpauth:// codes) are shown once and never saved to history.

The camera is used only while the user presses Start camera on the Scan page and is released when scanning stops. Camera frames and screen captures are held in memory only long enough to find a QR code and are never saved or transmitted. The clipboard is read only when the user presses Paste and written only when the user presses Copy. Web addresses found in a QR code are never opened automatically; the app shows the address with safety warnings, and opening it is always the user's choice.

AZ PDF Toolkit-specific data behavior

AZ PDF Toolkit opens, edits, converts, and saves documents entirely on the user's PC. Tools such as compression, conversion, comparison, redaction, password protection, and text recognition (OCR, using the recognizer built into Windows) run locally; documents are never uploaded. The app may create temporary working copies of pages in the Windows temporary folder while a task runs and deletes them when they are no longer needed. Apart from the files the user opens, drops onto the window, or adds to a tool, the app reads only its own settings and the fonts installed in Windows, which it uses to display and save edited text.

Passwords typed to open protected PDFs are kept in memory only while the app runs and are never written to disk or saved in session files. The app stores its settings and Premium status in its local data folder. The settings include the list of recently opened files and the page last read in each, so those files can be reopened where the user left off; Clear recent files removes both. If the app fails unexpectedly, it writes a crash log to that folder; the log stays on the PC, is never sent to AZ ModestSoft, and may contain technical details such as the name or location of a file being worked on. Uninstalling the app removes its data folder.

The app itself makes no network connections other than the Microsoft Store license check described in section 6. Web links are opened in the user's browser only when the user chooses to: a web link inside a PDF asks for confirmation first, and the font help link opens the installation guide on this website, where the website analytics described above apply.

AZ Maze Buddies-specific data behavior

AZ Maze Buddies stores Adventure progress, medals and best scores, the selected buddy and Quick Maze shape, which tutorials have been seen, and Premium status locally on the device. With Premium, mazes the player designs in the maze workshop are saved as files in the app's private storage and can be played again from My Mazes. The game does not ask for a name, email address, or account, has no chat or online play, and has no feature to export, share, or upload saved mazes or progress.

On Android, AZ Maze Buddies disables Android cloud backup and device-to-device transfer for its app data, so progress and saved mazes stay on the current device. Premium ownership is restored separately through the store.

MaenHuruf-specific data behavior

MaenHuruf stores Journey stars, game settings, the selected interface language, and Premium status locally on the device. Premium users can create custom vocabulary collections; words entered by the user and images selected from the device gallery are stored locally, and selected images are cropped and resized on the device. When the user chooses, custom collections can be exported as a ZIP backup through Android's sharing interface or imported through Android's file picker, and a Journey achievement card can be shared as an image. These transfers happen only after the user starts them and chooses a destination.

MaenHuruf leaves Android's standard app-data backup enabled, so local game data may be included in the backup or device-to-device transfer provided by Android and Google, depending on the device and account settings. Apart from the Firebase Analytics information described in section 3, MaenHuruf also contacts Google Play to check for app updates and to handle Premium purchases.

6. Store services and in-app purchases

Some covered apps may offer optional purchases through Google Play Billing or another platform store. The platform provider processes the payment. The apps and AZ ModestSoft do not receive or store the user's credit-card number, bank-account details, store balance credentials, or other payment-method credentials.

To provide, verify, or restore a purchased feature, an app may receive limited purchase information from the platform, such as the product identifier, purchase status, purchase token, or order identifier. In an offline implementation, this information is used for entitlement management and may be stored locally on the device.

AZ ModestSoft may be able to view limited sales and transaction records made available in a store console, such as the purchased product, order identifier, date, price, currency, country, refund status, or transaction status. This information may be used for customer support, refunds, fraud prevention, accounting, and legal compliance. Payment processing is governed by the platform provider's terms and privacy practices.

ArithmaDrill uses internet connectivity for Google Play Premium price lookup, purchase, restoration, and ownership reconciliation. Verified Premium access is cached locally so previously verified access and the app's core arithmetic practice, history, and analytics can continue to work offline. ArithmaDrill does not send purchase or entitlement information to an AZ ModestSoft-operated server.

LastTimeTracker uses internet connectivity for Google Play Premium operations and, only with consent, the optional Firebase analytics described in section 3. Google Play provides the localized price and verified Premium entitlement can be cached for offline use. Payment-card details are handled by Google Play and never received by LastTimeTracker. Automatically detected purchase events may be included in consented analytics; activity records and reminder content are not.

Cart Tactics offers a single optional one-time purchase that unlocks Advanced Challenge access. On Android the transaction is handled by Google Play Billing and on Windows by the Microsoft Store. Cart Tactics uses internet connectivity only for that purchase, its restoration, and periodic ownership reconciliation; the rest of the game runs entirely offline. Verified access is cached locally so previously verified access keeps working without a connection, and a failed or offline check never removes access already granted. Cart Tactics does not send gameplay progress, purchase details, or entitlement information to an AZ ModestSoft-operated server.

AZ PDF Toolkit offers an optional one-time Premium purchase through the Microsoft Store. When the user views the Premium price, buys or restores Premium, or when the app checks ownership (at start-up and at most about once a day), Windows contacts the Microsoft Store on the app's behalf. The app learns only whether Premium is owned and its price, and caches that status locally so Premium keeps working offline.

MaenHuruf offers an optional one-time Premium purchase through Google Play Billing. It uses internet connectivity for the Premium price, purchase, restoration, and ownership checks, and caches verified Premium access locally. Google Analytics for Firebase may record that an in-app purchase occurred, as described in section 3. MaenHuruf does not send payment details or entitlement information to an AZ ModestSoft-operated server.

AZ Maze Buddies offers an optional one-time Premium purchase, through Google Play Billing on Android and the Microsoft Store on Windows. It uses internet connectivity for the Premium price, purchase, restoration, and ownership checks, caches verified Premium access locally so it keeps working offline, and never removes access already granted because a check failed or the device was offline. On Android, Google Analytics for Firebase may record that an in-app purchase occurred, as described in section 3. AZ Maze Buddies does not send payment details or entitlement information to an AZ ModestSoft-operated server.

AZ QR Toolkit, AZ Duplicate File Finder, and Expiry Watch are free and offer no in-app purchases.

For more information, see the Google Privacy Policy and Microsoft Privacy Statement.

7. Data retention and deletion

Locally stored app data remains on the user's device until the user deletes it using an in-app function, clears the app's storage through system settings, or uninstalls the app. The exact effect of uninstalling may depend on device backup and restore settings.

For ArithmaDrill specifically, private app data is excluded from Android cloud backup and device transfer. Clearing its app storage or uninstalling it removes its local profiles, settings, history, and progress without automatic restoration by ArithmaDrill.

For LastTimeTracker, clearing app storage or uninstalling the app removes its local database. Backup files that the user created remain wherever the user saved them until the user deletes them.

The covered apps do not require an AZ ModestSoft-operated account. Therefore, there is no remote account or server-side user-content record for AZ ModestSoft to delete. Store transaction records are retained and managed by the platform provider and may also be retained where required for accounting, fraud prevention, dispute handling, or legal compliance.

8. Data security

The apps rely on operating-system application sandboxing and platform storage protections to help protect locally stored information. Users should protect their devices with an appropriate screen lock and keep their operating system up to date. No storage method can guarantee absolute security, particularly on a rooted, compromised, shared, or unlocked device.

9. Children's privacy

Some of the covered apps may be suitable for or used by children. The apps do not knowingly transmit children's personal information or user-created content to AZ ModestSoft. Parents or guardians should supervise children's use of device sharing, export, file-selection, and purchase features.

MaenHuruf is designed for children aged 5 to 9. It does not ask for a child's name, email address, or account, shows no advertising, and does not collect the Advertising ID or Android ID. The only information it sends off the device for analytics is the limited, non-advertising usage and device information described in section 3. A parent or guardian with questions, or who wants to request deletion of analytics data, can contact az.modestsoft@gmail.com.

AZ Maze Buddies is designed for children aged 6 to 12 and their families. It does not ask for a child's name, email address, or account, shows no advertising, has no chat or online play, and does not collect the Advertising ID or Android ID. On Android, the only information it sends off the device for analytics is the limited usage, gameplay-event, and device information described in section 3. Before a Premium purchase, the game shows a note addressed to a parent or guardian. Requests to delete analytics data can be sent to az.modestsoft@gmail.com.

10. External services and links

The apps may interact with operating-system services, Google Play services, or Microsoft Store services when needed for installation, updates, licensing, purchases, or other platform functions. MaenHuruf and the Android version of AZ Maze Buddies also use Google Analytics for Firebase, as described in section 3. These services are controlled by their respective providers. An app may also open an external link at the user's request; the destination's privacy policy then applies.

11. Changes to this policy

This policy may be updated when an app's features or data practices change, or when legal and platform requirements change. The effective date at the top of this page will be revised when material updates are published.

12. Contact

For privacy questions concerning the covered apps, contact AZ ModestSoft at az.modestsoft@gmail.com.

Do not send passwords, payment-card numbers, private app content, or other unnecessary sensitive information by email.

The app-specific sections apply only to the app versions and practices described above. Store privacy and data-safety declarations are completed separately for each app.