Privacy policy update for Pachli from Google Play

A new feature launching in Pachli Current now requires a small update to the Pachli privacy policy.

Read on for details.

Mastodon expects you to accurately set the language of your post before posting.

There are real-world accessibility problems if you set it incorrectly, including:

(a) Mastodon’s translation feature may not work correctly

(b) when people follow you they can opt-in to only receive posts you send in a particular language. If you mis-label the language of your posts you may be inadvertently spamming your followers.

A new feature in Pachli helps to fix this. Before sending a post Pachli will check the language the post is written in. If the language doesn’t appear to match the language you’ve chosen you’ll be warned about this, and have the option to change the language, or continue with the post as is.

Interstitial language warning dialog

This feature is rolling out in Pachli Current now.

If you have installed Pachli from F-Droid or the GitHub Release and are on a device running Android 10 or above (released 2019) this uses built-in Android libraries to detect the language.

If you have installed Pachli from F-Droid or the GitHub Release on a device older than Android 10 the the feature is not available.

If you have installed Pachli from Google Play this feature uses Google’s ML Kit Language Identification library to identify the language. This works on all devices Pachli runs on, from Android 6 and above.

In all cases none of the text you enter is ever sent to Google.

If you have installed Pachli from Google Play, ML Kit may send and receive some data from Google’s servers. To quote from that page (emphasis added):

When you use ML Kit APIs, processing of the input data (e.g. images, video, text) fully happens on-device, and ML Kit does not send that data to Google servers. As a result, you can use our APIs for processing data that should not leave the device.

The ML Kit APIs may contact Google servers from time to time in order to receive things like bug fixes, updated models and hardware accelerator compatibility information. The ML Kit APIs also send metrics about the performance and utilization of the APIs in your app to Google. Google uses this metrics data to measure performance, debug, maintain and improve the APIs, and detect misuse or abuse, as further described in our Privacy Policy.

Accordingly, the Privacy Policy has been updated to note that, if you install Pachli from Google Play, some ML Kit statistics are sent to Google, and ML Kit may download updated language identification models to your device.

Possible questions

Which version of Pachli will this apply from?

Pachli Current as of today, July 2nd 2024.

Pachli 2.7.0, which is not released, but should be released some time in the last week of July.

Why use ML Kit at all?

ML Kit allows the feature to be implemented (for some users) on the earliest devices Pachli supports.

This is not a theoretical problem. The Let’s Encrypt certificate issue I had to work-around in Pachli 2.5.0 was raised by real users having a real problem on older devices.

Are there open source alternatives to ML Kit?

Not that work. The most promising is Lingua but it is not designed for this use case; simply loading all the language models so it can implement detection and suggest an alternative crashed Pachli on my Pixel 4a after to trying to use all available memory.

How do I opt out?

Install Pachli from F-Droid or the GitHub Release page.

ML Kit is not something that can be disabled at run-time, so there is no mechanism to provide a “Disable ML Kit” or similar option in the preferences.

How do I see my device’s Android version?

Open Pachli’s “About” screen. In the “Your device” section your device’s Android version is shown.

Does Pachli send any data to Google or other companies?

No. Pachli only communicates with the server(s) associated with your account(s).

Pachli is a Nivenly Foundation project