EzTools

Privacy Policy

This policy applies to the EzTools official website and multiple related applications. It keeps a shared policy structure while adding app-specific disclosures for AirSwipe and FloatCalc.
Last updated: 2026-08-01

I. Scope and Contact

  • This policy applies to the EzTools official website (eztools.dpdns.org) and related mobile applications.
  • Google Play developer name: wsoftdev
  • Contact: wsoftdev7@gmail.com
  • Different apps may involve different permission usage and data handling depending on their features. In addition to the general rules below, app-specific disclosures appear in Sections III and IV.

II. General Notes

  • We handle information that is necessary to provide the relevant feature and aim to reduce unnecessary data processing.
  • When an app requires system permissions or system-level capabilities, we describe their purpose in connection with the relevant feature. You may choose whether to grant them, but some features may not work without them.
  • Available features may vary based on the app version installed on your device, your device, and your operating system. A disclosure about a particular feature applies only when that feature is present or used.
  • If a specific app has more detailed disclosure on this page, that app-specific disclosure controls for that app.

III. AirSwipe-Specific Disclosure

AirSwipe is an Android air-gesture app. Depending on the version installed on your device and the features you use, AirSwipe may process the following:

  • Live camera frames: used to recognize the gesture you are making.
  • Gesture recognition results: used to determine and perform actions such as taps, swipes, media control, and brightness adjustment.
  • Local configuration data: such as gesture mappings, switch state, and related preferences, used to store your choices.

AirSwipe gesture recognition is processed on-device. Camera frames used for gesture recognition are not uploaded to wsoftdev servers.

When you choose the feedback feature, AirSwipe opens a compatible email app with the support email address, subject, and the following basic diagnostics prefilled: app version, Android OS version, and device manufacturer and model. AirSwipe does not send the email automatically. Before sending, you can edit or remove the prefilled content and decide whether to send it. If you send the email, its content, your sender information, and related email metadata are processed by your email app and email service provider and delivered to the wsoftdev support mailbox. The received information is used solely for troubleshooting and responding to your feedback and for no other purpose.

MediaPipe On-Device Processing

AirSwipe uses Google MediaPipe Tasks for gesture recognition. Camera frames and other recognition input are processed on-device and are not sent to Google.

AirSwipe distributions identified in the Open Source Licenses as modified to disable usage-metrics transmission replace MediaPipe's usage logger with its no-operation logger and remove the remote usage-logging implementation, its generated logging messages, and the Google Data Transport dependencies declared by that MediaPipe logging component. Those AirSwipe versions do not use MediaPipe to send usage or performance metrics to Google. An AirSwipe version that uses Google's unmodified MediaPipe distribution may send the metrics described in the MediaPipe APIs Terms of Service. Those terms also state that MediaPipe APIs may contact Google for bug fixes, updated models, and hardware-accelerator compatibility information.

Google Play Purchases, Subscriptions, and Age Signals

In versions that provide the relevant features, AirSwipe uses Google Play Billing to retrieve product, offer, and localized price information; launch purchase flows; and query, restore, and acknowledge lifetime purchases and subscriptions. To determine and restore Pro access, AirSwipe processes and stores product identifiers, purchase tokens, purchase or acknowledgement states, entitlement states, and the last update time locally on your device. These data are not uploaded to wsoftdev servers and are not used for advertising, marketing, analytics, or profiling.

Google Play handles the payment process. AirSwipe and wsoftdev do not receive or store your card number, bank account details, or Google Play payment method details. Google's handling of related data is governed by its own terms and the Google Privacy Policy.

When you explicitly start a Pro purchase in an AirSwipe version that supports this feature, AirSwipe uses the Play Age Signals API. Google Play may show its own prompt requesting access to shared age signals. Depending on the response, AirSwipe may receive the sharing or verification status, age-range source, significant-change approval status, and, where applicable, an age range returned by Google Play. AirSwipe uses this information only to determine whether Pro purchases are available, require age verification, or require guardian approval. AirSwipe does not save the returned age signals in its own local storage, send them to wsoftdev servers, or use them for advertising, marketing, analytics, or profiling.

Rewarded Ads in Some Versions

This section applies only when the AirSwipe version installed on your device includes or uses Google AdMob / Google Mobile Ads SDK. Some versions may offer optional rewarded ads in exchange for time-limited access to Pro features. You can continue using the basic features without watching ads.

Google Mobile Ads SDK may automatically collect and share the following information with Google for advertising, analytics, fraud prevention, security, and compliance:

  • IP address: may be used to estimate the general location of the device.
  • Product interaction information: such as app launches, taps, ad impressions, ad clicks, and video views.
  • Diagnostics: such as app or SDK performance, loading status, errors, startup time, hang rate, or energy usage.
  • Device or account identifiers: such as the Android Advertising ID, App Set ID, and, where applicable, other identifiers related to accounts signed in on the device.

Google Mobile Ads SDK encrypts these data in transit. Specific handling may depend on the SDK version, device settings, consent choices, and available advertising features. For more information, see How Google uses information from sites or apps that use its services, the Google Privacy Policy, and the Google Mobile Ads SDK data disclosure.

AirSwipe may keep limited operational logs on your device for troubleshooting and maintenance. Logs may include app events, errors, system state, and whether purchase approval is required, but do not include camera frames, screen content, private notification content, payment method details, or a specific age range. Within storage directly managed by AirSwipe on the current device, logs rotate automatically, are retained for no more than 15 days, and are subject to a total size limit. AirSwipe does not automatically upload these logs to wsoftdev servers.

AirSwipe permits Android system-level backup and device transfer. Whether either actually occurs, and how any backup is stored, is determined by your device, system settings, and backup service; Android may include some local configuration and operational logs. AirSwipe excludes its Pro entitlement data from app backup and device transfer.

AirSwipe may allow you to export and import local configuration files. Exported configuration files may include gesture mappings, sensitivity settings, switch state, and related preferences. These files are created only when you choose to export them and are stored or shared according to the location or app you select. AirSwipe does not automatically upload exported configuration files to wsoftdev servers.

Depending on the installed version and the features you enable, AirSwipe may use the following permissions or system capabilities:

  • Camera: used to read the front camera feed for gesture recognition.
  • Accessibility service: used, after you explicitly enable it, to perform system-level actions such as taps, swipes, and media controls.
  • Modify system settings: used only when you use brightness-related gesture features, so the app can adjust screen brightness.
  • Notifications: used to show the foreground notification and current running status of AirSwipe.
  • Notification access (Enhanced Media Control): used only after you enable it for the Pro "Enhanced Media Control" feature. AirSwipe uses this access to obtain the necessary system media session information and identify the currently playing media app, so media gestures can target the correct app and support Previous, Next, Rewind, and Fast Forward. AirSwipe does not read, store, or upload private notification content.
  • Internet (INTERNET): depending on the installed version, used to handle purchases, subscriptions, and age-appropriate access through Google Play; for MediaPipe service contacts described in Google's terms; or to load and display ads through Google AdMob. The feedback feature hands a draft to your chosen email app; AirSwipe does not use its own Internet permission to send that email. AirSwipe versions identified in the Open Source Licenses as modified to disable usage-metrics transmission do not use this permission to send MediaPipe usage or performance metrics. Camera frames used for gesture recognition are not uploaded to wsoftdev or Google servers.
  • Phone permission: used only when you configure and trigger phone-related gesture actions, so AirSwipe can answer incoming calls, decline incoming calls, or end ongoing calls. AirSwipe does not read call logs, contacts, phone numbers, or call content, and does not answer calls automatically.

You can control or stop this processing by:

  • not granting or later revoking camera, modify-settings, notification, or phone permissions; if phone permission is not granted or later revoked, phone-related gesture actions may be unavailable;
  • not enabling, or later turning off, Notification access; if disabled, Enhanced Media Control may be unavailable;
  • disabling the AirSwipe accessibility service or turning AirSwipe off;
  • not enabling gesture recognition, or turning AirSwipe off, to stop future MediaPipe gesture processing; in versions that use Google's unmodified MediaPipe distribution, this also stops related metrics;
  • not sending the feedback email; AirSwipe only opens a draft after you choose the feedback feature, and you can edit, discard, or send it in your email app;
  • in versions that support subscriptions, managing or canceling a subscription through About & Support > Manage subscription in AirSwipe or the Google Play Subscription Center;
  • in versions that include rewarded ads, choosing not to watch ads; where applicable, managing consent through the in-app ad privacy options or managing, resetting, or deleting the Advertising ID through Android settings;
  • clearing app data or uninstalling the app.

If you do so, the corresponding features may stop working or become unavailable.

IV. FloatCalc-Specific Disclosure

FloatCalc is an Android floating calculator. To provide its calculator, conversion, and floating-window features, FloatCalc may process calculation and conversion inputs and results, calculation and conversion history, history notes and pin states, history search terms, display state, window preferences, and voice-related settings on your device.

FloatCalc calculation and conversion content, history records, notes, and pin states are stored locally on your device and are not uploaded to wsoftdev servers. History search terms are processed temporarily during the current interface session, are not saved to the history database, and are not uploaded to wsoftdev servers. FloatCalc currently applies no fixed record-count limit to history; records remain until you delete them in the app, clear the app's data, or uninstall the app.

When you choose the feedback feature, FloatCalc opens a compatible email app with the support email address, subject, and the following basic diagnostics prefilled: app version, Android OS version, and device manufacturer and model. FloatCalc does not send the email automatically. Before sending, you can edit or remove the prefilled content and decide whether to send it. If you send the email, its content, your sender information, and related email metadata are processed by your email app and email service provider and delivered to the wsoftdev support mailbox. The received information is used solely for troubleshooting and responding to your feedback and for no other purpose.

FloatCalc permits Android system-level backup and device transfer. Whether either actually occurs, and how any backup is stored, is determined by your device, system settings, and backup service; Android may include some local settings, calculation and conversion history, history notes, and pin states. FloatCalc excludes its Pro entitlement data and currency-rate cache from app backup and device transfer.

Google Play Purchases, Subscriptions, and Age Signals

FloatCalc uses Google Play Billing to retrieve product, offer, and localized price information; launch purchase flows; and query, restore, and acknowledge lifetime purchases and subscriptions. FloatCalc processes product identifiers, offer details, purchase tokens, purchase and acknowledgement states, and Pro entitlement states. Purchase tokens, entitlement states, and the last update time are stored locally on your device so FloatCalc can determine and restore Pro access. These data are not uploaded to wsoftdev servers and are not used for advertising, marketing, analytics, or profiling.

Google Play handles the payment process. FloatCalc and wsoftdev do not receive or store your card number, bank account details, or Google Play payment method details. Google's handling of related data is governed by its own terms and the Google Privacy Policy.

When you explicitly start a Pro purchase or ask FloatCalc to retry the Pro availability check, FloatCalc uses the Play Age Signals API. Google Play may show its own prompt requesting access to shared age signals. Depending on the response, FloatCalc may receive the sharing or verification status, age-range source, significant-change approval status, and, where applicable, an age range returned by Google Play. FloatCalc uses this information only to determine whether Pro purchases are available, require age verification, or require guardian approval. FloatCalc does not save the returned age signals in its own local storage, send them to wsoftdev servers, or use them for advertising, marketing, analytics, or profiling.

Currency Exchange Rates

When currency conversion is used, FloatCalc may request published exchange rates from the Frankfurter API. The request uses a fixed USD-based rates endpoint and does not include your calculation input, calculation history, amount being converted, or selected currency pair. Frankfurter and its infrastructure providers may process basic network information, such as an IP address, under their own policies.

FloatCalc currently uses the following permissions or system capabilities and purposes:

  • Display over other apps: used to show the floating calculator above other apps.
  • Foreground service and notifications: used to keep the floating calculator available while it is running and to show the required running notification.
  • Vibration: used only for local touch feedback.
  • Internet (INTERNET): used to communicate with Google Play for purchases, subscriptions, and age signals, and to retrieve currency exchange rates from Frankfurter. The feedback feature hands a draft to your chosen email app; FloatCalc does not use its own Internet permission to send that email. FloatCalc does not send calculation or conversion content, history records, notes, pin states, or history search terms to wsoftdev servers.
  • Google Play Billing: used to offer, verify, restore, and acknowledge lifetime purchases and subscriptions.
  • Battery optimization exemption: requested only when you choose to allow background battery use, to help keep the floating calculator available more reliably.

You can delete individual or multiple history records in FloatCalc, or clear all history. You can also delete FloatCalc local data, including calculation and conversion history, history notes, pin states, and preferences, by clearing app data in Android settings or uninstalling the app.

V. Website Data Handling

This section applies to the EzTools website and does not describe in-app processing inside AirSwipe or FloatCalc.

The EzTools website (eztools.dpdns.org) presents information about EzTools products and related legal and license documents.

  • Session storage: The website uses browser session storage (sessionStorage) to keep your language choice for the current browsing session and a short-lived redirect marker that prevents repeated redirects. These data remain in your browser, are not sent to wsoftdev, and are not used for advertising, analytics, or profiling. They are normally cleared by the browser when the browsing session ends.
  • Basic access and traffic analytics: The website uses Cloudflare for content delivery, security, and basic traffic analytics. When you visit the website, Cloudflare may process information such as your IP address, requested pages, browser and device information, and security or diagnostic information to deliver the website, protect it, troubleshoot problems, and generate traffic statistics. This processing is governed by the Cloudflare Privacy Policy.
  • Advertising and tracking: The website itself does not display ads and does not use advertising trackers or additional client-side user-behavior analytics scripts.

VI. Data Deletion Requests

  • AirSwipe does not provide an in-app account system, so there is no AirSwipe account to delete.
  • FloatCalc does not provide an in-app account system, so there is no FloatCalc account to delete.
  • AirSwipe local settings, entitlement states, purchase tokens, and operational logs can be removed from the current device by clearing app data or uninstalling the app. Because AirSwipe permits Android system-level backup and device transfer, some local settings and operational logs may remain in a system-managed backup or be restored or transferred later; you can manage available backup options through your device and backup-service settings. After reinstallation, AirSwipe may query valid purchases or subscriptions again for the current Google Play account.
  • FloatCalc calculation and conversion history, history notes, and pin states can be deleted in the app. Local settings, all history data, the currency-rate cache, Pro entitlement states, and purchase tokens can be removed from the device by clearing app data or uninstalling the app. Because FloatCalc permits Android system-level backup and device transfer, some settings, history records, notes, and pin states may remain in a system-managed backup or be restored or transferred later; you can manage available backup options through your device and backup-service settings. After reinstallation, FloatCalc may also query valid purchases or subscriptions again for the current Google Play account.
  • You can email wsoftdev7@gmail.com to request deletion of an AirSwipe or FloatCalc feedback email received in the support mailbox, including its message content, sender address and related email metadata, and any basic diagnostics left in the email.
  • Please include enough information to locate the email, such as the sender address, subject, a summary of the feedback, or approximate sending time.
  • We will handle deletion requests within a reasonable period.
  • Some information may be retained where necessary for security, fraud prevention, troubleshooting, legal compliance, or dispute handling, and will be deleted or anonymized when no longer needed.
  • Purchase, subscription, and payment records held by Google Play are handled under Google's own policies and cannot be deleted directly by AirSwipe, FloatCalc, or wsoftdev. You can manage related purchase, subscription, and payment data through Google Play.
  • In versions that include ads, data handled by Google Mobile Ads SDK is managed by Google under its own policies and cannot be deleted directly by AirSwipe. You can manage related choices through Google's privacy and advertising settings and the Advertising ID controls in Android.

VII. Information Security

We take reasonable measures appropriate to the product form and actual functionality to protect relevant information and configuration data. We recommend downloading and updating apps through official channels to reduce the risk of untrusted installation packages.

VIII. Policy Updates

We may update this Privacy Policy based on product changes, legal requirements, or operational needs. The revised version will identify its last updated date on this page. If a change materially affects your rights or how data is handled, we will provide any notice required by applicable law.