Phaser Print – Privacy Policy

Application: Phaser Print (Android, package ru.usharik.phaserprint; iPhone and iPad, bundle ID ru.usharik.phaserprint)
Developer: Alexey Usharik (“we”, “us”)
Effective date: 18 September 2026 · Last updated: 12 November 2026

Summary

1. Scope

This Privacy Policy describes how the Phaser Print applications for Android and for iPhone and iPad (the “App”) handle information. Sections 2–6 describe the Android version; section 7 describes the iPhone and iPad version and how it differs. The App is an unofficial third-party printing utility and is not affiliated with or endorsed by Xerox Corporation.

2. Information the App handles

2.1 Documents selected for printing

When you choose a PDF, image, or plain-text file using the Android system document picker, the App reads that document to render its pages and prepare a print job. Plain-text files are decoded as UTF-8 and laid out on your device. The document is processed on your device and is not uploaded to the developer or to an analytics service.

2.2 Saved printer information

The App stores the printer name, local network address and TCP port of printers that you explicitly add. This information is used to show your saved printers and to send print jobs to the printer you select.

2.3 Ad removal purchase

If you buy the optional “Remove ads” product, the purchase is made through Google Play. The App receives from Google Play the list of your purchases of this App, including the product identifier, purchase state and a purchase token, and uses them only to turn ads off and to confirm (acknowledge) the purchase to Google Play. The App stores a single flag on your device that records whether ads are removed. It checks this flag against Google Play each time the App returns to the foreground, so a purchase is restored after reinstalling and removed after a refund. Payment card details and billing addresses are handled by Google Play and are never available to the App or the developer.

To limit how often ads and the ad removal offer appear, the App also stores on your device the number of successful print jobs, the number since the last ad, when an ad was last shown and when you last answered the ad removal offer. To decide when it may ask the store for a rating (section 6.5), the App stores when this feature first ran on your device, when the App last asked and in which App version, and when a print job last failed. These counters are not sent anywhere.

2.4 Information we do not collect

3. Printing and local network transfer

When you explicitly start a print job, the App sends the selected document’s rendered print data to the selected printer over your local Wi‑Fi network. Compatible older Xerox Phaser models use JetDirect/QPDL over TCP port 9100. This is a user-initiated transfer to the destination you selected, not a transfer to the developer.

Some older printers do not support encrypted transport for this protocol. Use the App on a trusted Wi‑Fi network and avoid sending confidential documents over networks you do not control.

4. Permissions and system components

The App uses network access to discover printers and send print jobs. It uses the Android system document picker, so it does not request broad access to all files on your device. The Android Print Service component exposes saved printers to compatible apps only after you enable the service in Android settings.

5. Storage and deletion

DataRetentionHow to delete
Saved printersUntil you remove them or clear app dataUse the delete action next to a printer, or clear the App's data in Android settings.
Ad removal statusUntil you clear app data or uninstall the App; restored from Google Play when the App starts againClear the App's data in Android settings. Purchase records are kept by Google Play under its own policies.
Ad, offer and rating request countersUntil you clear app data or uninstall the AppClear the App's data in Android settings.
Selected documentOnly as needed for the current print operationCancel or finish the print job; temporary processing data is released by the App.
Ad consent choice (iPhone, iPad)Until you change it or delete the AppChange it with “Ad privacy settings” in the App’s settings (Privacy section), or delete the App.
Saved printers and settings (iPhone, iPad)Until you remove them or delete the AppRemove the printer in the App, or delete the App.
Copies of picked or shared documents (iPhone, iPad)Until you open another document, at most a day after the App next startsOpen another document, or delete the App.

The App does not create user accounts. Android removes the App’s private data when you uninstall the App.

6. Third-party services and links

6.1 Firebase Crashlytics

Release builds may use Firebase Crashlytics, a crash-reporting service provided by Google Firebase. When enabled, Crashlytics may receive crash reports, stack traces, app version, operating-system and device information, an installation identifier and other technical diagnostics. The App adds limited diagnostic context: the operation being performed and the name and model of the printer involved. It does not add document contents, document names or printer network addresses to Crashlytics.

Crashlytics is used only to find crashes and technical errors and improve compatibility. It is not used for advertising or behavioral analytics. Google processes this information according to the Firebase privacy information and Google Privacy Policy. Crashlytics collection can be controlled by the App's release configuration; debug builds do not send Crashlytics reports.

6.2 Firebase Analytics

Release builds may use Firebase Analytics, a usage measurement service provided by Google Firebase. The App sends limited events such as the screen you open (printing or settings), printer actions, completed and failed print jobs, steps of the ad removal purchase and the button that started it (top bar, settings, the print confirmation, the offer card or the offer after an ad), the display or dismissal of the ad removal offer (the card or the offer after an ad), the display of a full-screen ad, the App asking the store for a rating (only that it asked and whether the store’s rating service was available, never whether you rated or what you wrote), a tap on “Rate the app”, and app errors with operation categories. Print events include the size of the job: the number of document pages, paper sheets and copies, and the document type (PDF, image, text or test page). A failed print is reported with a category of its cause, such as the printer refusing the connection or timing out, and the name of the error type. Print results also include the printer model (for example “Xerox Phaser 3020”, without its serial number; a name that does not look like a model is sent as “other”) and its port, and for connection problems the number of attempts, whether the printer was found again at another network address (only the fact, never the address), the system error code (such as ECONNREFUSED), the stage that failed and how long it took. It does not send document names or contents, full printer names with serial numbers, printer network addresses or print data in these events. Google may associate analytics events with device or app instance information according to its policies. Debug builds do not send Analytics data. Google processes this information according to the Firebase privacy information and Google Privacy Policy.

6.3 Google AdMob

Release builds display a banner provided by Google AdMob. Some print jobs start with a full-screen (interstitial) ad from Google AdMob: printing starts as soon as you confirm it and runs while the ad is on screen. The ad is loaded in advance once the next job may show it; if none is ready, the job prints without it. Your first 2 successful print jobs have no ad; after that every other job has one, and a job of 4 or more pages (document pages or paper sheets, whichever is more) has one regardless, except as your very first job. The App shows at most one such ad every 30 minutes. Before such a job, the print confirmation says that a short ad will appear when printing starts and offers a “Remove ads” button with the price. After you close the ad, the App may offer ad removal (“Remove ads for good?”), at most once every 7 days. Printing from other apps through the Android Print Service never shows ads, but these jobs are counted. After 3 successful print jobs, the print screen also shows a card offering ad removal with its price; “Remove ads” or “Not now” hides it for 30 days. Ads are requested only when your ad consent choices allow it, and are not requested after you buy ad removal. The Google Mobile Ads SDK may process information such as advertising or app-instance identifiers, IP address, device and operating-system information, approximate location inferred from IP, diagnostics, and ad impressions or interactions. This information can be used to deliver, limit, personalize or measure advertising, subject to Google's settings and policies. The App does not provide AdMob with document contents, document names or printer network addresses. Debug builds use Google's official test App ID and test ad unit and are not intended to serve production ads.

AdMob is provided by Google. More information is available in Google's partner and advertising technology information and Google Privacy Policy.

6.4 Google Play Billing

The optional ad removal purchase uses Google Play Billing, provided by Google. Google processes your payment and purchase information according to the Google Payments Privacy Notice and Google Privacy Policy. The App does not send document contents, document names or printer network addresses to Google Play Billing.

6.5 Ratings and reviews (Google Play In-App Review)

After you have printed successfully several times, the App may ask Google Play to show its rating and review card (Google Play In-App Review API, provided by Google), at most once per App version and once every 90 days, never right after a failed job or together with an ad. Google Play decides whether the card appears. Your rating and review go directly to Google Play and are public under Google Play’s rules; the App and the developer never learn whether you rated or what you wrote. “Rate the app” in the App’s settings opens the App’s page in Google Play. The App does not send document contents, document names or printer network addresses to Google Play for this. Google processes this information according to the Google Privacy Policy.

6.6 External links

If you open an external link, your browser or the selected external app’s privacy policy applies.

7. iPhone and iPad version

7.1 Documents

You choose a PDF, image or plain-text file in the system document picker, or share it to the App from another app such as Files, Photos, Mail or Safari. iOS gives the App a copy of the document. The App renders it on your iPhone or iPad and sends the print data only to the printer you selected. Documents are not uploaded to the developer or to any third party. The App deletes earlier copies when you open another document, and copies received more than a day ago when it starts.

7.2 Local network

The App asks for the iOS Local Network permission. It uses Bonjour to find printers on your Wi‑Fi network and a TCP connection, usually to port 9100, to send print jobs. As described in section 3, this protocol is not encrypted; use the App on a trusted network.

7.3 Stored on your device

The App stores the name, local network address and port of printers you add, your print settings, the language you choose and the counters that limit how often ads, the ad removal offers and the rating request appear (section 2.3). They stay on your device until you remove a printer in the App or delete the App. Your ad consent choice is also stored on your device.

7.4 Firebase Crashlytics and Firebase Analytics

Release builds use Firebase Crashlytics and Firebase Analytics as described in sections 6.1 and 6.2, with the same events, except the steps of the ad removal purchase, which are not sent on iPhone and iPad. Crash and error reports contain the type of the error, its system error code and the stack trace, but not the error message, which could contain a printer address or a name you typed. Firebase also reads the identifier for vendor (IDFV) of iOS; it may use the advertising identifier (IDFA) only if you allowed tracking (section 7.6). Debug builds send no Crashlytics or Analytics data.

7.5 Google AdMob

Release builds show a banner from Google AdMob at the bottom of the screen. Full-screen (interstitial) ads and the ad removal offers follow the same rules as on Android (section 6.3), except that iOS has no system print service: you print in the App or send a document to it with Share → Phaser Print. After you buy ad removal, the App requests no more ads and shows no consent or tracking prompts. The Google Mobile Ads SDK may process the information described in section 6.3; on iPhone and iPad this includes the IDFA only if you allow tracking. The App does not provide AdMob with document contents, document names or printer network addresses. Debug builds use Google’s test ad units.

7.6 Your consent and App Tracking Transparency

On first launch in the European Economic Area, the United Kingdom and Switzerland, the App shows Google’s consent form (User Messaging Platform, certified under the IAB Transparency and Consent Framework) before any ad is requested. You can accept, decline or choose purposes; if you decline, you may still see non-personalised ads, or no ads where your choice does not allow them. You can change your choice at any time with “Ad privacy settings” in the App’s settings (Privacy section).

Next, the App explains why it asks and shows the iOS App Tracking Transparency prompt, which asks whether the App may track you across other companies’ apps and websites. AdMob receives the IDFA only if you choose Allow. If you choose Ask App Not to Track, or tracking is turned off on your device, you still see ads, but they are not personalised by the IDFA. You can change this at any time in Settings → Privacy & Security → Tracking. Ads are requested only after both questions are answered.

7.7 Ratings and reviews

Under the same rules as in section 6.5, the App may ask the App Store to show Apple’s rating dialog (StoreKit). iOS decides whether it appears, at most three times a year, and you can turn such requests off in iOS settings. Your rating and review go directly to Apple; the App never learns whether you rated or what you wrote. “Rate the app” in the App’s settings opens the App’s “Write a Review” page in the App Store. Apple processes this information under its own privacy policy.

7.8 App Store purchase

The optional “Remove ads” purchase is a one-time in-app purchase through Apple’s App Store (StoreKit). Apple handles the payment; we do not receive your payment details or your Apple ID. The App asks the App Store only whether the purchase is owned, each time it starts, so ads stay off after reinstalling and on other devices signed in to the same Apple ID; “Restore purchase” in the App’s settings asks again on request. The App does not store the purchase itself and sends no purchase events to Firebase. Apple processes payment and purchase information under its own privacy policy.

If you choose to share crash reports with app developers in iOS settings, Apple handles them under its own policy.

8. Security

Documents are processed locally and are sent only after your explicit print action. Network security also depends on the Wi‑Fi network and printer protocol you use; no method of transmission or storage is completely secure.

9. Children

The App is a general-audience utility and is not directed to children under 13 (or the equivalent minimum age in your jurisdiction). We do not knowingly collect personal information from children.

10. Changes and contact

We may update this Privacy Policy when the App changes or when required by law. The current version is always available at https://usharik.github.io/phaserprint/privacy-policy.html; the “Last updated” date above indicates the latest revision.

Questions or concerns can be sent to Alexey Usharik through GitHub Issues.