• Re: Android keyboard: your choice.

    From Henry The Mole@21:1/5 to All on Mon Jun 17 11:22:10 2024
    Kirill Ivanov scriveva il 17/06/2024 :
    Hello.

    Which Android OS keyboard software you are using?
    And why?

    Heliboard:

    https://github.com/Helium314/HeliBoard

    Open source, very customizable, possibility to add glyde typing,
    respectful of privacy.

    --
    Henry The Mole
    "I can't believe I ate the whole thing."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Henry The Mole on Mon Jun 17 16:30:52 2024
    Henry The Mole wrote on Mon, 17 Jun 2024 11:22:10 +0200 :

    https://github.com/Helium314/HeliBoard

    Helium Keyboard
    https://f-droid.org/packages/helium314.keyboard/ https://github.com/Helium314/HeliBoard/releases/tag/v1.3 https://apt.izzysoft.de/fdroid/index/apk/helium314.keyboard

    Name: HeliBoard_1.3-release.apk
    Size: 21421991 bytes (20 MiB)
    SHA256: CFCC1EEEE7A5466034F01B34C97554907DF397847771A4CC7DDBE9DED35E4B85

    HeliBoard is a privacy-conscious open-source keyboard, based on AOSP / OpenBoard. Does not use internet permission, and thus is 100% offline.

    Features:
    Add dictionaries for suggestions and spell check
    build your own, or get them here, or in the experimental section
    additional dictionaries for emojis or scientific symbols can be used to
    provide suggestions (similar to "emoji search")
    Customize keyboard themes (style, colors and background image)
    can follow the system's day/night setting on Android 10+ (and on some
    versions of Android 9)
    can follow dynamic colors for Android 12+
    Customize keyboard layouts (only available when disabling use system
    languages)
    Multilingual typing
    Glide typing (only with closed source library)
    library not included in the app, as there is no compatible open source
    library available
    can be extracted from GApps packages ("swypelibs"), or downloaded here Clipboard history
    One-handed mode
    Split keyboard (only available if the screen is large enough)
    Number pad
    Backup and restore your learned word / history data

    Looks nice for keyboard layout & for assured privacy.

    The main problem I have with it, after I installed HeliBoard, is there is
    no voice input, by default. Maybe voice input can be added later somehow?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Henry The Mole@21:1/5 to All on Tue Jun 18 07:53:33 2024
    Il 17/06/2024, Andrew ha detto :

    The main problem I have with it, after I installed HeliBoard, is there is
    no voice input, by default. Maybe voice input can be added later somehow?

    You can set voice input icon in toolbar from HeliBoard Settings ->
    Toolbar.

    --
    Henry The Mole
    "I can't believe I ate the whole thing."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Tue Jun 18 18:21:39 2024
    Henry The Mole, 2024-06-17 11:22:

    Kirill Ivanov scriveva il 17/06/2024 :
    Hello.

    Which Android OS keyboard software you are using?
    And why?

    Heliboard:

    https://github.com/Helium314/HeliBoard

    On F-Droid:
    <https://f-droid.org/packages/helium314.keyboard/>

    Looks very similiar to GBoard.

    Open source, very customizable, possibility to add glyde typing,
    respectful of privacy.

    Swype input needs a proprietary library to be loaded (as explained in
    the README.md of the project), but it works fine then.

    Thanks for the hint - very useful!


    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Henry The Mole on Tue Jun 18 17:00:01 2024
    Henry The Mole wrote on Tue, 18 Jun 2024 07:53:33 +0200 :

    The main problem I have with it, after I installed HeliBoard, is there is
    no voice input, by default. Maybe voice input can be added later somehow?

    You can set voice input icon in toolbar from HeliBoard Settings ->
    Toolbar.

    Maybe there's a trick I'm not seeing yet as I already have a microphone
    with my OpenBoard keyboard so I know that it works just fine normally.
    <https://i.postimg.cc/zvw1MYST/heliboard03.jpg>

    But when I set the keyboard to HeliBoard, the microphone disappears.
    <https://i.postimg.cc/fyYwN9Zt/heliboard02.jpg>

    I opened the HeliBoard app. It brought me to "HeliBoard Settings".
    The microphone was already turned on.
    But the microphone doesn't show up in the HeliBoard keyboard.

    Do I need to set something else to get the HeliBoard mic to show up?
    <https://i.postimg.cc/rFLV9QCS/heliboard01.jpg>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Tue Jun 18 20:08:31 2024
    R.Wieser wrote on Tue, 18 Jun 2024 21:52:23 +0200 :

    Heliboard:
    ... respectful of privacy.

    Any reason why it would need the READ_CONTACTS permission ?

    While anyone who cares about privacy probably knows enough to store their personal contacts anywhere EXCEPT in the default contacts sqlite database, Muntashirakon App Manager says the following permissions are requested
    for the HeliBoard Version 1.3 (1004) I installed on my Android 13 Galaxy.

    android.permission.READ_CONTACTS (which, naturally, I had revoked) android.permission.READ_USER_DICTIONARY (which is granted) android.permission.RECEIVE_BOOT_COMPLETED (which is granted) android.permission.VIBRATE (which is granted) android.permission.WRITE_USER_DICTIONARY (which is granted) helium314.keyboard.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION (granted)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Tue Jun 18 21:52:23 2024
    Henry,

    Heliboard:
    ... respectful of privacy.

    Any reason why it would need the READ_CONTACTS permission ?

    "READ_PROFILE allows you to access the device user's personally-identifying data."

    ( https://developer.android.com/identity/providers/contacts-provider )

    That doesn't really sound privacy-friendly ...

    Regards,
    Rudy Wieser

    Running graphene OS. For a reason.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to R.Wieser on Tue Jun 18 21:27:34 2024
    R.Wieser wrote:

    Heliboard:

    Any reason why it would need the READ_CONTACTS permission ?

    According to a comment on an issue/question in github

    "It's for adding contact names to suggestions and spell check."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Andy Burns on Wed Jun 19 03:55:33 2024
    Andy Burns wrote on Tue, 18 Jun 2024 21:27:34 +0100 :

    Any reason why it would need the READ_CONTACTS permission ?

    According to a comment on an issue/question in github

    "It's for adding contact names to suggestions and spell check."

    Look here: <https://i.postimg.cc/rpJQj8vx/heliboard04.jpg>

    1. Mine is turned off, by default, for some reason.
    android.permission.READ_CONTACTS = dangerous, revoked

    2. When dealing with permissions, it's not what the "purpose" of the
    permission is that is worrisome, it's the "capability" of it (e.g.,
    maybe *other* apps can make use of the data, e.g., Firebase).

    3. This is what Muntashirakon App Manager says about the permission.
    "Allows the app to read data about your contacts stored
    on your phone. Apps will also have access to the
    accounts on your phone that have created contacts.
    This may include accounts created by apps you have
    installed. This permission allows apps to save your
    contact data, and malicious apps may share contact
    data without your knowledge"

    On my phone, there are no accounts. Nor are there contacts in the default sqlite database location; but most people will have both of those, right?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Wed Jun 19 08:21:33 2024
    R.Wieser, 2024-06-18 21:52:

    Henry,

    Heliboard:
    ... respectful of privacy.

    Any reason why it would need the READ_CONTACTS permission ?

    THe important thing is, that the app can not send data anywhere as it
    has no internet access.

    "READ_PROFILE allows you to access the device user's personally-identifying data."

    You mean READ_CONTACTS?

    ( https://developer.android.com/identity/providers/contacts-provider )

    That doesn't really sound privacy-friendly ...

    This permission does NOT have to be granted at all. In the app settings
    of Android it is listed but disabled.

    Also the app does NOT have internet access - therefore it will not send
    any data anywhere, even if it would read contact information.

    And finally - it is open source! If you believe the app does bad things,
    review the code or ask someone you trust to do so:

    <https://github.com/Helium314/HeliBoard>

    The German "Kuketz IT-Securioty" blog also recommends this keyboard for
    privacy reasons:

    <https://www.kuketz-blog.de/heliboard-android-tastatur-empfehlung/>



    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Wed Jun 19 08:25:01 2024
    Andrew, 2024-06-19 05:55:

    Andy Burns wrote on Tue, 18 Jun 2024 21:27:34 +0100 :

    Any reason why it would need the READ_CONTACTS permission ?

    According to a comment on an issue/question in github

    "It's for adding contact names to suggestions and spell check."

    Look here: <https://i.postimg.cc/rpJQj8vx/heliboard04.jpg>

    1. Mine is turned off, by default, for some reason.
    android.permission.READ_CONTACTS = dangerous, revoked

    2. When dealing with permissions, it's not what the "purpose" of the
    permission is that is worrisome, it's the "capability" of it (e.g.,
    maybe *other* apps can make use of the data, e.g., Firebase).

    Since Helium keyboard does not use Firebase and also does not have
    internet access, this is not an issue.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Henry The Mole@21:1/5 to All on Wed Jun 19 08:25:39 2024
    Andrew scriveva il 18/06/2024 :

    Maybe there's a trick I'm not seeing yet as I already have a microphone
    with my OpenBoard keyboard so I know that it works just fine normally.
    <https://i.postimg.cc/zvw1MYST/heliboard03.jpg>

    But when I set the keyboard to HeliBoard, the microphone disappears.
    <https://i.postimg.cc/fyYwN9Zt/heliboard02.jpg>

    I opened the HeliBoard app. It brought me to "HeliBoard Settings".
    The microphone was already turned on.
    But the microphone doesn't show up in the HeliBoard keyboard.

    Do I need to set something else to get the HeliBoard mic to show up?
    <https://i.postimg.cc/rFLV9QCS/heliboard01.jpg>

    Toolbar keys (including microphone icon) are shown pressing on icon ">"
    on the left of suggestions row.
    In version 2.x beta of Heliboard they add an option to auto-show/hide
    toolbar or pin a specific key so it remains always visibile: despite
    being a beta it's very stable, so I suggest you to update version.

    https://github.com/Helium314/HeliBoard/releases/v2.0-beta2

    Kindly regards.

    --
    Henry The Mole
    "I can't believe I ate the whole thing."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Wed Jun 19 08:42:36 2024
    Andy,

    Heliboard:

    Any reason why it would need the READ_CONTACTS permission ?

    According to a comment on an issue/question in github

    "It's for adding contact names to suggestions and spell check."

    Thanks.

    The explanation is believable, and as it doesn't ask for any communications-related permissions I am inclined to do so.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Wed Jun 19 08:54:45 2024
    Andrew,

    1. Mine is turned off, by default, for some reason.
    android.permission.READ_CONTACTS = dangerous, revoked

    Its not about what *you* currently have, its about what *we* would be
    getting. Regardless of if our phones have similar protections - or not.

    2. When dealing with permissions, it's not what the "purpose" of the
    permission is that is worrisome, it's the "capability" of it

    Well, duh!

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Wed Jun 19 09:11:36 2024
    Arno,

    Since Helium keyboard does not use Firebase and also does not
    have internet access, this is not an issue.

    How do you know it doesn't use Firebase ? (how did you figure that out ?)

    But do I understand you correctly that if an app uses Firebase it doesn't
    need the INTERNET permission (and/or alike) to be able "go online" ?

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Wed Jun 19 09:02:30 2024
    Arno,

    "READ_PROFILE allows you to access the device user's personally-
    identifying data."

    You mean READ_CONTACTS?

    Well d*mn ... I mixed them up. My apologies.

    I don't like the READ_CONTACTS permission either though - too much personal info of the people I know there - who did not grant me the right to spread
    it around.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Arno Welzel on Wed Jun 19 07:31:07 2024
    Arno Welzel wrote:

    THe important thing is, that the app can not send data anywhere as it
    has no internet access.

    I thought *all* android apps got INTERNET permission "for free" without
    having to ask?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Henry The Mole on Wed Jun 19 18:11:21 2024
    Henry The Mole wrote on Wed, 19 Jun 2024 08:25:39 +0200 :

    Toolbar keys (including microphone icon) are shown pressing on icon ">"
    on the left of suggestions row.
    In version 2.x beta of Heliboard they add an option to auto-show/hide
    toolbar or pin a specific key so it remains always visibile: despite
    being a beta it's very stable, so I suggest you to update version.

    https://github.com/Helium314/HeliBoard/releases/v2.0-beta2

    Thanks for explaining that the microphone only shows up if you press the
    arrow on the (otherwise empty) toolbar each time you want to use it.

    <https://i.postimg.cc/X7hCw56Z/heliboard05.jpg>

    I agree it's crazy to do that every single time so I appreciate that you explained that the beta version can pin the microphone to the toolbar.

    What I've always wanted though, which I haven't found yet (that works),
    is for the DEFAULT to be microphone input. Does HeliBoard have that?

    That is, the microphone is active as the keyboard input all the time,
    unless you specifically turn it off. Does HeliBoard do that?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Wed Jun 19 18:45:59 2024
    Arno Welzel wrote on Wed, 19 Jun 2024 08:21:33 +0200 :

    Heliboard:
    ... respectful of privacy.

    Any reason why it would need the READ_CONTACTS permission ?

    The important thing is, that the app can not send data anywhere as it
    has no internet access.

    I *love* this erudite discussion as it's about the nuance of privacy!

    Hence it's great that HeliBoard has no Internet access, for the obvious
    privacy reasons, particularly when I'm using the microphone input, which is
    why I don't use the Google Speech-To-Text (AFAIK) but the internal STT.
    Android13Galaxy: Settings > General Management > Preferred engine
    <https://i.postimg.cc/3rqCRb1p/heliboard06.jpg>

    Notice I do not set it to the Google STT engine (for fear it uses the net).

    One question I have is whether that Samsung STT engine uses the Internet?
    Does it?

    "READ_PROFILE allows you to access the device user's personally-identifying >> data."

    You mean READ_CONTACTS?

    I typically use the OpenBoard keyboard so I'm wondering what the difference
    is between the OpenBoard FOSS keyboard and the Helium HeliBoard keyboard.
    <https://play.google.com/store/apps/details?id=com.softwarevalencia.openboard.inputmethod.latin>

    Although there are, confusingly so, two different openboard keyboards:
    <https://github.com/dslul/openboard>
    <https://f-droid.org/packages/org.dslul.openboard.inputmethod.latin/>
    <https://play.google.com/store/apps/details?id=org.dslul.openboard.inputmethod.latin>
    (I checked & that last one doesn't seem to be on Google Play anymore)

    ( https://developer.android.com/identity/providers/contacts-provider )

    That doesn't really sound privacy-friendly ...

    This permission does NOT have to be granted at all. In the app settings
    of Android it is listed but disabled.

    Also the app does NOT have internet access - therefore it will not send
    any data anywhere, even if it would read contact information.

    To Arno Welzel's point, by default, I don't have the permission granted to HeliBoard (not that I have contacts in the default sqlite database either).
    <https://i.postimg.cc/rpJQj8vx/heliboard04.jpg>

    Of course, what matters is how the STT is done as that "might" use the net.
    <https://i.postimg.cc/59HnPBxx/keyboard01.jpg>
    <https://i.postimg.cc/k5p16ccB/keyboard02.jpg>

    This may be a dumb question because I do NOT know how STT works!
    Do we know if Helium's HeliBoard's STT engine does NOT use the Internet?

    And finally - it is open source! If you believe the app does bad things, review the code or ask someone you trust to do so:

    <https://github.com/Helium314/HeliBoard>

    Using Muntashirakon App Manager, I took a quick look at the permission DIFFERENCE between these FOSS keyboard apps: HeliBoard & OpenBoard.
    <https://i.postimg.cc/nLXWPwH1/heliboard07.jpg>

    HeliBoard:
    1. android.permission.READ_CONTACTS
    2. android.permission.READ_USER_DICTIONARY
    3. android.permission.RECEIVE_BOOT_COMPLETED
    4. android.permission.VIBRATE
    5. android.permission.WRITE_USER_DICTIONARY
    6. helium314.keyboard.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    OpenBoard:
    1. android.permission.POST_NOTIFICATIONS
    2. android.permission.READ_USER_DICTIONARY
    3. android.permission.RECEIVE_BOOT_COMPLETED
    4. android.permission.VIBRATE
    5. android.permission.WRITE_USER_DICTIONARY

    Does anyone have a logical explanation of why this difference?

    The German "Kuketz IT-Securioty" blog also recommends this keyboard for privacy reasons:

    <https://www.kuketz-blog.de/heliboard-android-tastatur-empfehlung/>

    Given I love that both are FOSS and both are said to be privacy aware,
    what would be interesting is a comparison of these two FOSS keyboards:
    a. OpenBoard
    b. HeliBoard

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 11:08:03 2024
    Arno Welzel, 2024-06-20 11:05:

    Henry The Mole, 2024-06-19 08:25:
    [...]
    https://github.com/Helium314/HeliBoard/releases/v2.0-beta2

    Since I'm not very familiar with HeliBoard yet: when long-pressing a
    button in the toolbar, it get's a permanent highlight with a green background, but nothing else happens. I can remove the highlight again
    by long-pressing the same button again.

    What is the meaning of this?

    Ok, got it:

    These are "pinned" items. When long-pressing a toolbar icon, it will get "pinned" and will stick visible even when the toolbar is closed.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 11:10:43 2024
    R.Wieser, 2024-06-19 09:11:

    Arno,

    Since Helium keyboard does not use Firebase and also does not
    have internet access, this is not an issue.

    How do you know it doesn't use Firebase ? (how did you figure that out ?)

    Because I checked the code: <https://github.com/Helium314/HeliBoard>

    But do I understand you correctly that if an app uses Firebase it doesn't need the INTERNET permission (and/or alike) to be able "go online" ?

    No, but it needs to contain code to use Firebase. If you don't believe
    me, see the link above or ask someone else you trust to assist you with
    that.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 11:05:19 2024
    Henry The Mole, 2024-06-19 08:25:

    Andrew scriveva il 18/06/2024 :

    Maybe there's a trick I'm not seeing yet as I already have a microphone
    with my OpenBoard keyboard so I know that it works just fine normally.
    <https://i.postimg.cc/zvw1MYST/heliboard03.jpg>

    But when I set the keyboard to HeliBoard, the microphone disappears.
    <https://i.postimg.cc/fyYwN9Zt/heliboard02.jpg>

    I opened the HeliBoard app. It brought me to "HeliBoard Settings".
    The microphone was already turned on.
    But the microphone doesn't show up in the HeliBoard keyboard.

    Do I need to set something else to get the HeliBoard mic to show up?
    <https://i.postimg.cc/rFLV9QCS/heliboard01.jpg>

    Toolbar keys (including microphone icon) are shown pressing on icon ">"
    on the left of suggestions row.
    In version 2.x beta of Heliboard they add an option to auto-show/hide
    toolbar or pin a specific key so it remains always visibile: despite
    being a beta it's very stable, so I suggest you to update version.

    https://github.com/Helium314/HeliBoard/releases/v2.0-beta2

    Since I'm not very familiar with HeliBoard yet: when long-pressing a
    button in the toolbar, it get's a permanent highlight with a green
    background, but nothing else happens. I can remove the highlight again
    by long-pressing the same button again.

    What is the meaning of this?

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 11:13:11 2024
    R.Wieser, 2024-06-19 08:54:

    Andrew,

    1. Mine is turned off, by default, for some reason.
    android.permission.READ_CONTACTS = dangerous, revoked

    Its not about what *you* currently have, its about what *we* would be getting. Regardless of if our phones have similar protections - or not.

    The contacts permission is off by default in this app and is only needed
    when you enable "Suggest Contact names" in the "Text correction" settings.

    Before complaining about how insecure an app is you should first check it!

    Also see here - the source is available and you can build it on your own
    if you don't trust F-Droid: <https://github.com/Helium314/HeliBoard>

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 11:14:52 2024
    Andy Burns, 2024-06-19 08:31:

    Arno Welzel wrote:

    THe important thing is, that the app can not send data anywhere as it
    has no internet access.

    I thought *all* android apps got INTERNET permission "for free" without having to ask?

    No, this is not the case.

    An app has to ask for the permission android.permission.INTERNET and android.permission.ACCESS_NETWORK_STATE before it can connect to and
    server on the network.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 11:19:13 2024
    Andrew, 2024-06-19 20:45:

    [...]
    HeliBoard:
    1. android.permission.READ_CONTACTS
    2. android.permission.READ_USER_DICTIONARY
    3. android.permission.RECEIVE_BOOT_COMPLETED
    4. android.permission.VIBRATE
    5. android.permission.WRITE_USER_DICTIONARY
    6. helium314.keyboard.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    OpenBoard:
    1. android.permission.POST_NOTIFICATIONS
    2. android.permission.READ_USER_DICTIONARY
    3. android.permission.RECEIVE_BOOT_COMPLETED
    4. android.permission.VIBRATE
    5. android.permission.WRITE_USER_DICTIONARY

    Does anyone have a logical explanation of why this difference?

    Heliboard supports a registered broadcast runtime reciever for Adroid 13
    and above - see here:

    <https://developer.android.google.cn/about/versions/13/features?hl=en#runtime-receivers>

    Quote:

    "To help make runtime receivers safer, Android 13 introduces the ability
    for your app to specify whether a registered broadcast receiver should
    be exported and visible to other apps on the device. On previous
    versions of Android, any app on the device could send an unprotected
    broadcast to a dynamically-registered receiver unless that receiver was
    guarded by a signature permission."

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Arno Welzel on Thu Jun 20 12:27:47 2024
    On 20/06/2024 10:14, Arno Welzel wrote:

    Andy Burns, 2024-06-19 08:31:

    Arno Welzel wrote:

    THe important thing is, that the app can not send data anywhere as it
    has no internet access.

    I thought *all* android apps got INTERNET permission "for free" without
    having to ask?

    No, this is not the case.

    An app has to ask for the permission android.permission.INTERNET and android.permission.ACCESS_NETWORK_STATE before it can connect to and
    server on the network.

    I don't remember being asked to grant internet access since about Froyo/Gingerbread era

    "Both the INTERNET and ACCESS_NETWORK_STATE permissions are normal
    permissions, which means they're granted at install time and don't need
    to be requested at runtime."

    <https://developer.android.com/develop/connectivity/network-ops/connecting>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Thu Jun 20 16:26:53 2024
    Arno,

    How do you know it doesn't use Firebase ? (how did you figure that out
    ?)

    Because I checked the code: <https://github.com/Helium314/HeliBoard>

    Ah, yep, that would do it.

    Alas, thats not something thats easy to automate.

    But do I understand you correctly that if an app uses Firebase it doesn't
    need the INTERNET permission (and/or alike) to be able "go online" ?

    No, but it needs to contain code to use Firebase.

    ??? I don't get that. Somehow you look to be disagreeing and agreeing with
    me at the same time.

    Simpler question: If an app uses Firebase it can go online, even though the
    app doesn't request the INTERNET permission. Yes, or no ?

    If "yes", any idea how it does that ? (curiosity speaking there)

    If you don't believe me,

    Its not at all about me not believing you, its about my worry that a random
    app can go online without my say-so.

    In fact, its me believing you and wondering how I can spot an app which uses that kind of circumvention of (denied) permissions.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Thu Jun 20 17:01:24 2024
    Arno,

    An app has to ask for the permission android.permission.INTERNET and android.permission.ACCESS_NETWORK_STATE before it can connect
    to and server on the network.

    Am I stil allowed to ask questions and learn from the answers ? If so :

    Any reason why *two* permissions need to be enabled ? Whats the diference between them ? What does the first do what the second doesn't and vise-verse
    ?

    And yes, I did try to find information on both - and didn't find any
    specific information on them (but instead other who where wondering the
    same).

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Thu Jun 20 16:53:15 2024
    Arno,

    The contacts permission is off by default in this app and is only needed
    when you enable "Suggest Contact names" in the "Text correction" settings.

    "The contacts permission is off by default in this app" ?

    That sounds like as if the app is managing its own permissions, and I *hope* that that is not what you ment ...

    But maybe you just mean that the permission will only actually be asked for when it tries to access the contacts (and not when installing). But how
    does that make a difference ? It still wants to access that contacts
    data.

    You know, my first thought was "WHY!". The tradeoff between not having to enter a persons name myself (so the syntax checker can make an exception for it) and the loss of privacy is a no-brainer to me.

    Before complaining about how insecure an app is you should first check it!

    Are you teling me I must be a fullblown Java programmer before I'm allowed
    to mention stuff I would never want to give the permission for ? I hope
    not.

    But if you think so - and with it effectivily forbidding me to open my
    mouth - than I suggest you throw me into your killfile. 'Cause I've been
    know to ask stuff - so I can learn from the answers and perhaps /one day/ become as knowledgeable as you and will be able to just look at some
    sourcecode and figure out if its nefarious or not.

    But at that time I will likely build my own apps instead. Much easier (ask
    me how I know). :-)

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 18:05:50 2024
    R.Wieser, 2024-06-20 16:53:

    Arno,

    The contacts permission is off by default in this app and is only needed
    when you enable "Suggest Contact names" in the "Text correction" settings.

    "The contacts permission is off by default in this app" ?

    Yes, when you install the app, this permission will not be requested.
    You *can* enable it, but it is activated by default.

    That sounds like as if the app is managing its own permissions, and I *hope* that that is not what you ment ...

    An app *must* contain the permission request in the manifest, regardless
    if it actually uses it or not. And Heliboard includes the *request* for
    contact permission but will *not* ask to use it until you enable the
    "Suggest Contact names" in the settings.

    But maybe you just mean that the permission will only actually be asked for when it tries to access the contacts (and not when installing). But how does that make a difference ? It still wants to access that contacts data.

    It will only access contact data, when you enable the setting for it in
    the app, otherwise not.

    Before complaining about how insecure an app is you should first check it!

    Are you teling me I must be a fullblown Java programmer before I'm allowed
    to mention stuff I would never want to give the permission for ? I hope not.

    No, you just see, what happens, if you let this permission disabled. If
    the app still works without any error, it does not read contact data.

    Also see the options in the app - "Suggest Contact names" is a good hint
    what the permission for contact reading is used for. Better than just
    assuming that the app does not respect your privacy just because of an *optional* permission.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 17:59:35 2024
    R.Wieser, 2024-06-20 16:26:

    Arno,

    How do you know it doesn't use Firebase ? (how did you figure that out
    ?)

    Because I checked the code: <https://github.com/Helium314/HeliBoard>

    Ah, yep, that would do it.

    Alas, thats not something thats easy to automate.

    But do I understand you correctly that if an app uses Firebase it doesn't >>> need the INTERNET permission (and/or alike) to be able "go online" ?

    No, but it needs to contain code to use Firebase.

    ??? I don't get that. Somehow you look to be disagreeing and agreeing with me at the same time.

    No - I just explained, that an app does need internet to use Firebase,
    but still code, to use Firebase. So if you can not find code in the app
    sources to use Firebase, then the app does not use it.

    Simpler question: If an app uses Firebase it can go online, even though the app doesn't request the INTERNET permission. Yes, or no ?

    No. It can only use Firebase. Firebase is not "go online" but a
    framework for authentication and using cloud storage:

    <https://firebase.google.com/>

    Yes "cloud" is usually also "online", but to any random server, but
    Google servers which provide the infrastructure for Firebase.

    Firebase can also provide Web hosting for apps, so the app itself does
    not just run on the device but also includes parts hosted as web app on
    a remote Firebase server.


    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 20 18:08:46 2024
    Andy Burns, 2024-06-20 13:27:

    On 20/06/2024 10:14, Arno Welzel wrote:
    [...]
    An app has to ask for the permission android.permission.INTERNET and
    android.permission.ACCESS_NETWORK_STATE before it can connect to and
    server on the network.

    I don't remember being asked to grant internet access since about Froyo/Gingerbread era

    "Both the INTERNET and ACCESS_NETWORK_STATE permissions are normal permissions, which means they're granted at install time and don't need
    to be requested at runtime."

    <https://developer.android.com/develop/connectivity/network-ops/connecting>

    I stand corrrected, yes, you're right. On current android versions, apps
    don't have to ask for that permission, but you still need to add this in
    the app manifest as developer, so people can check wether the app uses
    network connections at all.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Fri Jun 21 11:14:01 2024
    Arno,

    An app *must* contain the permission request in the manifest,
    regardless if it actually uses it or not.

    I take that as "regardless if it *directly* uses it or not."

    But do you recognise that way of doing stuff might be problematic ? If you lend your phone to someone a friend or your kid(s) get a hold of it (wanting
    to play a game perhaps) they might cause the permission to be asked for, and than it won't be you answering the question.

    Time will tell if my phone uses the same "late binding" mechanism. I hope
    not though.

    It will only access contact data, when you enable the setting for it in
    the app, otherwise not.

    :-) You talk as if you are smart enough, but at the same time you seem to blindly trust an apps honesty in obeying a setting it manages it itself.
    I don't.

    ... and the phone-OS makers don't either, proven by the existence of an OS-enforced "permissions firewall".

    Also see the options in the app - "Suggest Contact names" is a good
    hint what the permission for contact reading is used for.

    You're sounding rather gullible there. :-(

    They *tell you* that they will /just/ take the contact names, and leave everything else (you know, phone numbers, adresses, etc.) alone, and you believe them ? Again, I don't.

    Its not about what they /tell you/ what they are going to do, its about
    *whats possible* they could do.

    Also, there is a reason why some phone OS-es offer you to provide apps
    asking for such a permission a fake list.

    Better than just assuming that the app does not respect your privacy just because of an *optional* permission.

    You sound like you will have no problem with handing off your wallet (containing money, bank cards and passport) to a random stranger when he
    asks for it.

    What ? You would not trust a random stranger like that ? But you still
    expect me to (blindly) trust a random app ? Really ?

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Fri Jun 21 09:20:03 2024
    Arno,

    But do I understand you correctly that if an app uses Firebase it
    doesn't
    need the INTERNET permission (and/or alike) to be able "go online" ?

    No, but it needs to contain code to use Firebase.

    ??? I don't get that. Somehow you look to be disagreeing and agreeing
    with me at the same time.

    No - I just explained, that an app does need internet to use Firebase,

    That was not what I was asking.

    Simpler question: If an app uses Firebase it can go online, even though
    the app doesn't request the INTERNET permission. Yes, or no ?

    No.

    Thank you. That (circumvention of permissions) was all I was worried
    about.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Fri Jun 21 18:32:42 2024
    Arno Welzel wrote on Thu, 20 Jun 2024 11:08:45 +0200 :

    I agree it's crazy to do that every single time so I appreciate that you
    explained that the beta version can pin the microphone to the toolbar.

    Just long-press microphone button in the toolbar, so it gets
    highlighted. Then it is "pinned" and will stay visible even when the
    toolbar is closed.

    Thanks for responding to my issues, where I just pinned it and it works.
    Now the microphone is pinned to HeliBoard KB just as it is to OpenBoard.

    If the app does not use the Internet, how does it do the Speech-to-Text?

    Android 13 Galaxy:
    Settings > General Management > Text-to-speech > Preferred engine >
    (o) Samsung TTS settings
    (_) Speech Recognition and Synthesis from Google

    The privacy question is whether either of those uses the Internet?
    Does anyone know?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Fri Jun 21 20:13:00 2024
    Arno Welzel wrote on Thu, 20 Jun 2024 17:59:35 +0200 :

    No. It can only use Firebase. Firebase is not "go online" but a
    framework for authentication and using cloud storage:

    <https://firebase.google.com/>

    I am thoroughly confused what "Firebase" truly means, since it seems to be
    one of those nice marketing words that Google marketing uses for too-many things. So I think there are MULTIPLE things that Google calls "Firebase".

    If you turn on Developer options, then Firebase will be an option in your Android settings which contains a horrific amount of privacy-related things about you such as every contact you interacted with and every location you
    ever searched for in Google maps and every app you've used and when.

    Android 13 Galaxy:
    Settings > Google (Google Services) > Firebase App Indexing

    Here is an example in Firebase App Indexing of all your map searches.
    <https://i.postimg.cc/qR8zr72r/appindex01.jpg> All your Maps searches

    But the Firebase App Index contains a LOT more very private information.
    <https://i.postimg.cc/nhCCVxmB/mapsloctrack03.jpg>

    For example, Firebase App Index contains a listing of every contact you've interacted with and exactly when and for how long you interacted with them.

    In that Firebase App Indexing loation is a horrifically scary collection of extremely private information that wouldn't be so bad if it didn't
    constantly "send update_index" to somewhere about once a month or so. <https://i.postimg.cc/QtfJ59LP/firebase02.jpg> Firebase indexed app data

    Where (or who) is that somewhere, I don't know, and every time I asked,
    people tell me they never heard of this Firebase - and yet it exists.

    In summary, I think the Google "Firebase" you looked up may not be the same Google Services "Firebase App Indexing" that is on my phone and which
    contains extremely private data which is uploaded periodically to somewhere
    by an unknown-to-me process.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Fri Jun 21 22:37:35 2024
    Andrew,

    So I think there are MULTIPLE things that Google calls "Firebase".

    Too bad you only name one ... Or is it that the one you described is the
    only one related to android ?

    Google Services "Firebase App Indexing" that is on my phone and which

    gathers

    extremely private data which is uploaded periodically to somewhere
    by an unknown-to-me process.

    Thanks for that.

    It means (to me) that if I see an apk mentioning "Firebase" in its manifest
    I should drop it (as the spyware it is) and walk away.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Sat Jun 22 00:34:18 2024
    Arno Welzel wrote on Wed, 19 Jun 2024 08:25:01 +0200 :

    Since Helium keyboard does not use Firebase and also does not have
    internet access, this is not an issue.

    That's a terribly misleading sentence, unfortunately; but I know you're
    trying to help - so please take what I say below purely constructively.

    That sentence is dangerous - because it's so non detailed as to be able to
    be interpreted in two completely different ways - one good - the other bad.

    I do not think anyone on this newsgroup understands the difference between Google Firebase (cloud stuff) and Google Services Firebase App Indexing
    (non cloud stuff); so your sentence above is meaningless until you can show that you understand that they're completely different - and not having one doesn't negate having the other.

    Given that complexity, I outline three things we need to clarify in that seemingly simple sentence above. :)

    Based on the links I already provided to Rudy Wieser moments ago...

    1. Firebase is (apparently) not the same as Firebase App Indexing.
    One uses the cloud. The other does not use the cloud (AFAIK).
    The one that does not use the cloud is called "Google Services
    Firebase App Indexing" and it _does_ send "statistics" to Google!

    2. I installed and used Helium HeliBoard and I subsequently checked
    the Google Services Firebase App Indexing data location, which
    you can only see if you turn Developer options on, and I did not
    see anything in there from Helium - so even though you didn't
    distinguish between Google Firebase (cloud related stuff) and
    Google Services Firebase App Indexing (not related to the cloud),
    I think that you're correct that Helium doesn't collect that data
    (which then Google says it grabs "statistics" from).

    3. However, notice that the fact that Helium Heliboard does not use
    the Internet is meaningless because Google uses the Internet.

    That is, an app that has no access to the Internet can use Google Services Firebase App Indexing and while that app won't upload any of your private
    data to the Internet, Google explicitly says it does grab "statistics".

    See the links I just gave to Rudy Wieser which back up those three points.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Sat Jun 22 00:25:46 2024
    R.Wieser wrote on Fri, 21 Jun 2024 22:37:35 +0200 :

    So I think there are MULTIPLE things that Google calls "Firebase".

    Too bad you only name one ... Or is it that the one you described is the only one related to android ?

    One thing we have to remember is anyone who talks only about "Google
    Firebase" (cloud services) without also talking about "Google Services
    Firebase App Indexing (decidedly NOT cloud related), probably doesn't understand either - which is - I think - the biggest problem here.

    I too don't understand the difference.
    But at least I'm aware that there is a difference.

    Which is a good start but not good enough to explain it fully to anyone.

    To your query about which apps have "Google Services Firebase App Indexing" inside of them, there are many apps that link in "Google Services Firebase
    App Indexing" but long ago I deleted every non-essential app that made use
    of "Google Services Google Firebase App Indexing".

    So they're not on my system.
    They are certainly on your system though.

    But not mine.
    So they're going to show up in a screenshot of your device.

    But not in a screenshot of mine.

    Notice in the previous screenshot, for example, that the "Windy" weather
    app used Google Services Firebase App Indexing - which is why I deleted it.
    <https://i.postimg.cc/qR8zr72r/appindex01.jpg>

    Notice in this screenshot from long ago on my phone, plenty more apps used
    it, such as Google's quicksearchbox (which I then deleted) and Google TV
    (which I then deleted) and T-Mobile (which I then deleted) and YouTube
    (which I then deleted). I deleted every non-essential app that used Google Services Google Firebase App Indexing - which I recommend others do too.
    <https://i.postimg.cc/Fs8GDLfX/firebase01.jpg>

    Notice even the venerable VLC video player app uses Google Services Google Firebase App Indexing; so while I love VLC, I had to remove that app too
    (and you'll notice the less-known Maderski Charging Indicator used it too).
    <https://i.postimg.cc/QtfJ59LP/firebase02.jpg>

    Google Services "Firebase App Indexing" that is on my phone and which
    gathers extremely private data which is uploaded periodically to somewhere >> by an unknown-to-me process.

    Thanks for that.

    Long ago, when I first heard of it, I had uninstalled every non-essential
    app that used Google Services Google Firebase App Indexing but some
    packages are essential, such as Google Play Services, which, when I removed
    it, it screwed things up so I had to add it back for the basic working of
    the Android phone.
    <https://i.postimg.cc/KvCkLccr/firebase03.jpg>

    I agree we should have some way of telling if an app is going to use Google Services Firebase App Indexing but I don't know how to tell that.

    However, ANY app can add "Google Services Google Firebase App Indexing".
    <https://medium.com/android-news/firebase-app-indexing-for-personal-content-getting-personal-content-into-search-c52bfe45b3ac>
    <https://traversoft.com/2017/05/02/firebase-app-indexing/>

    So we should be able to install any app (such as Facebook) that is known to
    use Google Services Google Firebase App Indexing to look at the manifest.

    It means (to me) that if I see an apk mentioning "Firebase" in its manifest
    I should drop it (as the spyware it is) and walk away.

    While I freely admit I don't know the difference between "Google Firebase"
    and "Google Services Firebase App Indexing", I think they are different.

    The reason I think that is when you dig into "Google Firebase", the cloud inevitably shows up while with "Google Services Google Firebase App
    Indexing", the cloud is explicitly not involved at all.

    But there is too little data on the net for me to be able to truly
    distinguish between those two (different?) firebases from Google.
    <https://www.google.com/search?q=%22Google+Services%22+%22Firebase+App+Indexing>

    The "Google Services Google Firebase App Indexing" seems to be a data-collection that Google takes advantage up by uploading "statistics" to Google Servers, as it says in these links that came up from that search.
    <https://android.stackexchange.com/questions/213149/what-is-firebase-app-indexing-under-google-services-settings>
    <https://developers.google.com/search/blog/2014/04/app-indexing-updates>
    <https://www.lido.app/firebase/what-is-firebase-app-indexing>

    Notice developers can collect your data between different platforms.

    In summary, what we need is a definitive way to tell if an app has included Google Services Google Firebase App Indexing in it, and, we need to figure
    out the difference between Google Firebase cloud stuff and the very
    different (it seems) Google Firebase App Indexing (which appears to be
    cloud free but Google uploads "statistics" so it's still privacy invasive).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Sat Jun 22 08:39:14 2024
    Andrew,

    One thing we have to remember is anyone who talks only about "Google Firebase" (cloud services) without also talking about "Google Services Firebase App Indexing (decidedly NOT cloud related),

    I too don't understand the difference.But at least I'm aware that there is
    a difference.

    Oh yes, there seems to be a difference : the first being the back-end and second the front-end. At least, if I maye take Googles own word for it :

    https://firebase.google.com/firebase-and-gcp

    [quote]
    Firebase and Google Cloud share three products: Cloud Firestore, Cloud Functions, and Cloud Storage. *These are the same products that exist in
    Google Cloud, simply exposed for client-side developers via Firebase*. You
    can access the same data from the server SDKs (Google Cloud) and the client SDKs (Firebase), so your frontend and backend teams can work in concert. [/quote]

    (bolding mine)

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Sat Jun 22 09:18:15 2024
    Andrew,

    3. However, notice that the fact that Helium Heliboard does not use
    the Internet is meaningless because Google uses the Internet.

    As you said it yourself, "that's a terribly misleading sentence".

    You might want to explain what, to you, that "google" in the above sentence is, and how it "uses the Internet" without given permission to - and
    ofcourse how that that "google" gets hold of data generated by other apps*

    Yes, I can make an (educated) guess or two to what you might mean there, but
    I rather hear it from you.

    * an OS sandboxing apps is a thing. And on my phone an app can access files
    it created itself, but not other apps files - simply by denying it READ/WRITE_EXTERNAL_STORAGE permissions.

    hint: not everyone thinks that his lifes enjoyment is directly dependant on having something like "google play store" installed.

    And again: be carefull when you post pertinent stuff like "Firebase App Indexing (decidedly NOT cloud related)" as you do not really seem to
    understand the issue yourself - as you mentioned it, you have no idea where
    the "Firebase Indexing Service" is sending its data to, other than 'to
    google'.

    "Firebase cloud services" is definitily Google, though for some reason you discarded it (without an explanation) as a possibility of being the target
    if your phones uploading. I still have no idea why.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Sat Jun 22 19:12:48 2024
    R.Wieser wrote on Sat, 22 Jun 2024 08:39:14 +0200 :

    Oh yes, there seems to be a difference : the first being the back-end and second the front-end. At least, if I maye take Googles own word for it :

    https://firebase.google.com/firebase-and-gcp

    Thank you for noticing that there's a difference between "Google Firebase"
    and "Google Services Firebase App Indexing", where I read what you quoted
    and that seems to be the former but not the latter.

    While I will freely admit to not knowing what either one truly is, I don't think one is just the back end of the other - simply because the whole
    purpose of "Google Services Firebase App Indexing" is for the app to get
    its data in the users' search results ON THE PHONE (as far as I can tell), while the whole purpose of "Google Firebase" is for the app to link in
    access to Google's cloud.

    As far as I can tell, those are two completely different endeavors.

    The fact that they're likely completely different things with similar names
    is why I've said that anyone talking about one without mentioning the other almost certainly doesn't know what either does.

    The issue at hand, as I see it, is that the "Google Services Firebase App Indexing" saves extremely personal data ON THE PHONE which then Google
    clearly says they will sample intermittently for statistics.
    <https://medium.com/android-news/firebase-app-indexing-for-personal-content-getting-personal-content-into-search-c52bfe45b3ac>
    "A note about privacy: The personal content index only exists
    on the user's device. None of the user's personal content is
    uploaded to Google servers and it only remains on the device
    while the app is installed. However, aggregated statistics
    about apps' usage of App Indexing and other system health
    information may be uploaded to Google servers."

    Notice that means it doesn't matter one bit if an application has no
    Internet access... Because Google does.

    Anyway, we're far from the topic of the Helium keyboard so I opened a
    separate thread with your links and mine to help understand it better.
    *Why do so many people confuse Firebase & Firebase App Indexing?*
    <https://www.novabbs.com/computers/article-flat.php?id=53667&group=comp.mobile.android#53667>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Sat Jun 22 19:34:54 2024
    R.Wieser wrote on Sat, 22 Jun 2024 09:18:15 +0200 :

    3. However, notice that the fact that Helium Heliboard does not use
    the Internet is meaningless because Google uses the Internet.

    As you said it yourself, "that's a terribly misleading sentence".

    You might want to explain what, to you, that "google" in the above sentence is, and how it "uses the Internet" without given permission to - and
    ofcourse how that that "google" gets hold of data generated by other apps*

    Yes, I can make an (educated) guess or two to what you might mean there, but I rather hear it from you.

    * an OS sandboxing apps is a thing. And on my phone an app can access files it created itself, but not other apps files - simply by denying it READ/WRITE_EXTERNAL_STORAGE permissions.

    hint: not everyone thinks that his lifes enjoyment is directly dependant on having something like "google play store" installed.

    And again: be carefull when you post pertinent stuff like "Firebase App Indexing (decidedly NOT cloud related)" as you do not really seem to understand the issue yourself - as you mentioned it, you have no idea where the "Firebase Indexing Service" is sending its data to, other than 'to google'.

    "Firebase cloud services" is definitily Google, though for some reason you discarded it (without an explanation) as a possibility of being the target
    if your phones uploading. I still have no idea why.

    The problem is that when everyone is talking about stuff they don't know
    much about (including me), then everything any one person says tends to
    confuse any other person - because they're not starting from the same
    knowledge level.

    To solve that fundamental problem...

    I opened a separate thread to get to the bottom of both Google Firebase
    (cloud stuff) and Google Services Firebase App Indexing (search stuff).

    *Why do so many people confuse Firebase & Firebase App Indexing?*
    <https://www.novabbs.com/computers/article-flat.php?id=53667&group=comp.mobile.android#53667>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sun Jun 23 03:01:11 2024
    Andrew, 2024-06-21 20:32:

    Arno Welzel wrote on Thu, 20 Jun 2024 11:08:45 +0200 :

    I agree it's crazy to do that every single time so I appreciate that you >>> explained that the beta version can pin the microphone to the toolbar.

    Just long-press microphone button in the toolbar, so it gets
    highlighted. Then it is "pinned" and will stay visible even when the
    toolbar is closed.

    Thanks for responding to my issues, where I just pinned it and it works.
    Now the microphone is pinned to HeliBoard KB just as it is to OpenBoard.

    If the app does not use the Internet, how does it do the Speech-to-Text?

    Android 13 Galaxy:
    Settings > General Management > Text-to-speech > Preferred engine >
    (o) Samsung TTS settings
    (_) Speech Recognition and Synthesis from Google

    The privacy question is whether either of those uses the Internet?
    Does anyone know?

    It depends on the device. Newer devices have a "TPU" which can handle
    speech recognition offline. However older devices may not be as powerful
    to do this and always rely on a server.

    Simple test: enable airplane mode to disable any kind of network
    connection and see, if speech recognition still works. In my case, on a
    Google Pixel 6a, this is the case - Google speech recognition even works without any active network connection at all.


    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sun Jun 23 03:08:01 2024
    Andrew, 2024-06-22 02:34:

    Arno Welzel wrote on Wed, 19 Jun 2024 08:25:01 +0200 :

    Since Helium keyboard does not use Firebase and also does not have
    internet access, this is not an issue.

    That's a terribly misleading sentence, unfortunately; but I know you're trying to help - so please take what I say below purely constructively.

    That sentence is dangerous - because it's so non detailed as to be able to
    be interpreted in two completely different ways - one good - the other bad.

    I do not think anyone on this newsgroup understands the difference between Google Firebase (cloud stuff) and Google Services Firebase App Indexing
    (non cloud stuff); so your sentence above is meaningless until you can show that you understand that they're completely different - and not having one doesn't negate having the other.

    Which does not matter, since Helium keyboard does not use Firebase, no
    matter what it is.

    [...]
    1. Firebase is (apparently) not the same as Firebase App Indexing.

    Firebase App Indexing is a part of Firebase but no longer the
    recommended way by Google:

    <https://firebase.google.com/docs/app-indexing?hl=en>

    One uses the cloud. The other does not use the cloud (AFAIK).
    The one that does not use the cloud is called "Google Services
    Firebase App Indexing" and it _does_ send "statistics" to Google!

    Firebase itself *is* "the cloud" - for example to provide storage,
    messaging or analytics using Google cloud services. It depends on the application if it does use these features.

    2. I installed and used Helium HeliBoard and I subsequently checked
    the Google Services Firebase App Indexing data location, which
    you can only see if you turn Developer options on, and I did not
    see anything in there from Helium - so even though you didn't
    distinguish between Google Firebase (cloud related stuff) and
    Google Services Firebase App Indexing (not related to the cloud),
    I think that you're correct that Helium doesn't collect that data
    (which then Google says it grabs "statistics" from).

    Heliboard does not use anything connected to Firebase!

    3. However, notice that the fact that Helium Heliboard does not use
    the Internet is meaningless because Google uses the Internet.

    No, this is not meaningless, because without Internet acces *and*
    without Firebase the app can not send data anywhere.

    And again, if you don't trust my answers, check the source code of the
    for yourself and/or build your own version based on that code or ask
    someone you trust to assist you with that:

    <https://github.com/Helium314/HeliBoard>



    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sun Jun 23 03:29:05 2024
    R.Wieser, 2024-06-21 11:14:

    Arno,

    I stand corrrected, yes, you're right. On current android versions, apps
    don't have to ask for that permission, but you still need to add this in
    the app manifest as developer, so people can check wether the app
    uses network connections at all.

    Have you ever considered the possibility that all that has changed is the popping up of the confirmation dialog for those particular permissions ?

    IOW, if the permission request is NOT in the manifest its NOT given, but if it is there its given without confirmation.

    Hey, maybe you have knowledge and the tools to create a small testing app, test it and tell us the results ?

    There are already many apps out there which can do this, for example:

    <https://f-droid.org/de/packages/com.mirfatif.permissionmanagerx/>

    And F-Droid also shows the permission of any app which you can download
    there - and Heliboard does *not* have internet access:

    <https://f-droid.org/de/packages/helium314.keyboard/>


    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sun Jun 23 03:24:57 2024
    R.Wieser, 2024-06-21 11:14:

    Arno,

    An app *must* contain the permission request in the manifest,
    regardless if it actually uses it or not.

    I take that as "regardless if it *directly* uses it or not."

    There is no "direct use". Either an app does use an system API which
    requires a permission or not. The only way it changed over the years is,
    that most permissions have to be granted by the user when first used
    while in older versions of Android all permissions in the application
    manifest got granted automatically.

    But do you recognise that way of doing stuff might be problematic ? If you lend your phone to someone a friend or your kid(s) get a hold of it (wanting to play a game perhaps) they might cause the permission to be asked for, and than it won't be you answering the question.

    Time will tell if my phone uses the same "late binding" mechanism. I hope not though.

    "Late binding" is required for *all* permissions in newer Android
    versions. I am not sure when Google changed this, but as far I remember, Android 6 introduced that.

    It will only access contact data, when you enable the setting for it in
    the app, otherwise not.

    :-) You talk as if you are smart enough, but at the same time you seem to blindly trust an apps honesty in obeying a setting it manages it itself.
    I don't.

    I don't either - but I can read and understand source code:

    <https://github.com/Helium314/HeliBoard>

    And yes, I also develop Android software myself:

    <https://github.com/arnowelzel/periodical>

    <https://f-droid.org/de/packages/de.arnowelzel.android.periodical/>

    <https://play.google.com/store/apps/details?id=de.arnowelzel.android.periodical>

    [...]
    Also see the options in the app - "Suggest Contact names" is a good
    hint what the permission for contact reading is used for.

    You're sounding rather gullible there. :-(

    They *tell you* that they will /just/ take the contact names, and leave everything else (you know, phone numbers, adresses, etc.) alone, and you believe them ? Again, I don't.

    Who is "they"?

    Heliboard is not sold by a company but provided by a bunch of
    contributors (at the moment 26 - see <https://github.com/Helium314/HeliBoard/graphs/contributors>) who spend
    their free time to maintain a keyboard app you can use for free.

    So you believe all these guys work on that app to spy on you?

    Then don't use the app or better don't use smartphones at all - and yes,
    I am really serious!

    Its not about what they /tell you/ what they are going to do, its about *whats possible* they could do.

    Yes - everything is possible! Even if an app has *no* permissions at all
    it still can be harmful since there may be a security bug in Android
    which a malicous app can exploit. And yes, I am really serious! See <https://en.wikipedia.org/wiki/Stagefright_(bug)> about the
    "Stagefright" bug which could be exploited just by displaying images.

    At some point you have to decide if you trust a system or not. And if
    you do not trust a system, then don't use it.

    Also, there is a reason why some phone OS-es offer you to provide apps
    asking for such a permission a fake list.

    Which does not solve the issue, that you still have to trust the OS that
    it works as intended.

    Better than just assuming that the app does not respect your privacy just
    because of an *optional* permission.

    You sound like you will have no problem with handing off your wallet (containing money, bank cards and passport) to a random stranger when he
    asks for it.

    No, I have no problem trusting an open source app I can check of myself.

    What ? You would not trust a random stranger like that ? But you still expect me to (blindly) trust a random app ? Really ?

    No I don't expect anything except not being paranoid and trying to
    understand *why* I told you that about Heliboard.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Sun Jun 23 02:27:12 2024
    Arno Welzel wrote on Sun, 23 Jun 2024 03:29:05 +0200 :

    Hey, maybe you have knowledge and the tools to create a small testing app, >> test it and tell us the results ?

    There are already many apps out there which can do this, for example:

    <https://f-droid.org/de/packages/com.mirfatif.permissionmanagerx/>

    It's always good to obtain tool recommendations from folks who know a lot
    about Android, where my Galaxy is unrootable but I do use ADB every day and
    I use the Android Wireless Debugging tile all the time to allow ADB authentication (either by pairing, which requires a password, or by direct connection by USB or over Wi-Fi) - but others who may not be using ADB...
    they will have to do some homework first.
    adb connect 192.168.0.2:36295
    adb pair 192.168.0.2:43145 016983

    Even with all that knowledge, my initial connection over ADB failed; but it
    may have been because I was also using screencopy mirroring at the time.
    scrcpy -s 192.168.0.2

    Nonetheless, here are the installation particulars that I ran just now.

    https://f-droid.org/de/packages/com.mirfatif.permissionmanagerx/ https://f-droid.org/repo/com.mirfatif.permissionmanagerx_125.apk
    Name: permission-manager_com.mirfatif.permissionmanagerx_125.apk
    Size: 2847225 bytes (2780 KiB)
    SHA256: 678FAC2556E610E080E058F1E1F362F0259C8BF314B7580282C678BFA750AF19

    Privileges: Root or ADB access is required to get AppOp permissions and to change permissions state. [Don't Remind] or [OK]

    a. Enable Wireless Debugging (pairing) or ADB Over Network.
    b. Enter port and tap connect button.
    c. Allow ADB authentication when prompted.

    https://mirfatif.github.io/PermissionManagerX/help/en/#faq1

    Help: Why PMX requires root or ADB access?
    Android won't allow a normal user app to change
    other apps' manifest or AppOps permissions, even its
    own. Only reading AppOps without root or ADB is
    possible provided that hidden APIs are not
    blacklisted on your device (which is very unlikely
    on Android 9+).

    That's why we run a separate process with high
    privileges to circumvent the restrictions.

    By default, the background process (daemon) is run
    with ADB UID (2000) or (if rooted) System UID (1000).

    On rooted devices, UID can be changed in PMX
    Advanced Settings.

    My device isn't rooted. How can I use PMX?
    Use PMX with ADB.

    However ADB is not as powerful as root is. PMX takes
    more time to build the list of apps when its running
    with ADB.

    What are hidden APIs?
    The core functionality of PMX revolves around
    Hidden APIs. These are the capabilities required to
    perform tasks (like granting or revoking permissions)
    which can only be performed by privileged system apps.

    So these capabilities aren't available to normal
    user apps. But PMX uses these capabilities with the
    help of root or ADB. Usually a user should not be
    concerned about this.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Sun Jun 23 07:50:30 2024
    Arno Welzel wrote on Sun, 23 Jun 2024 03:01:11 +0200 :

    It depends on the device. Newer devices have a "TPU" which can handle
    speech recognition offline. However older devices may not be as powerful
    to do this and always rely on a server.

    When I looked up TPU, I thought it meant "text processing unit" but it
    really means "tensor processing unit", apparently, which is confusing.
    <https://medium.com/@champion_icterine_goldfish_62/how-googles-tpu-technology-may-improve-ai-capabilities-of-samsung-galaxy-s25-series-1a3c6274040f>

    Simple test: enable airplane mode to disable any kind of network
    connection and see, if speech recognition still works. In my case, on a Google Pixel 6a, this is the case - Google speech recognition even works without any active network connection at all.

    Ah. <slaps head!> How stupid of me. That's a great idea.

    That's a sensible idea, which I should have thought of, so thanks for being kind in suggesting that I put the phone in airplane mode first.

    1. For the Samsung Keyboard microphone, STT failed in airplane mode
    saying "No network connection".

    2. For the OpenBoard keyboard microphone, STT worked in airplane mode.

    3. For the HeliBoard keyboard microphone, STT worked in airplane mode.

    4. For the Google Voice Typing microphone, STT worked in airplane mode.

    The good news is both HeliBoard and OpenBoard (which, as far as I can tell,
    are equivalent in most ways) do not need the Internet in order to do STT.

    Thanks for suggestion that quick test.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Sun Jun 23 10:21:39 2024
    Arno,

    An app *must* contain the permission request in the manifest,
    regardless if it actually uses it or not.

    I take that as "regardless if it *directly* uses it or not."

    There is no "direct use". Either an app does use an system API
    which requires a permission or not.

    :-) I think we are talking about the same thing., though I think from
    different vantage points. The "direct use" quip was about the difference of only asking the permission when the app actualy uses it, versus asking for
    all permissions at install time.

    "Late binding" is required for *all* permissions in newer Android
    versions. I am not sure when Google changed this, but as far I
    remember, Android 6 introduced that.

    I decision I consider as being bad. For reason(s) I already mentioned.
    I hope my phones OS doesn't follow it.

    :-) You talk as if you are smart enough, but at the same time you seem
    to blindly trust an apps honesty in obeying a setting it manages it
    itself.
    I don't.

    I don't either - but I can read and understand source code:

    :-) I've worked my way thru enough sourcecode to know that a lot can go on
    in there that I will never be able to fully grasp. Kudos to you that you
    can.

    And yes, I also develop Android software myself:

    I'm not at all surprised about it.

    They *tell you* that they will /just/ take the contact names, and leave
    everything else (you know, phone numbers, adresses, etc.) alone, and
    you believe them ? Again, I don't.

    Who is "they"?

    The apps infopage (wherever it is stored) ?

    Heliboard is not sold by a company but provided by a bunch of
    contributors (at the moment 26 - see <https://github.com/Helium314/HeliBoard/graphs/contributors>) who
    spend their free time to maintain a keyboard app you can use for free.

    So you believe all these guys work on that app to spy on you?

    Is there any reason why I should believe that /all/ app makers - or in this case all 26 contributors of it - are all fully above board ? On which
    ground please ?

    Also, *You* have the capability to inspect their sourcecode, and make your decisions on that. I would call that distrust too. I'm not at your level
    of expertise, so I'm not allowed to have the same distrust ?

    And FWY, I was-and-am talking about apps in general. You keeping pushing a specific app forward as proof that my distrust is unwarranted is therefore meaningless to me.

    And pardon me, but as someone who can inspect such apps (I take it you have some kind of de-compiler at hand too) you must have encountered a number
    which are rather ... iffy in what they try to do, and "not quite" matching their info sheet.

    FYI, I'm frequenting a website which regulary talks about how, often high-ranked, android apps contain malware, purposely put there by the app
    maker or because (s)he used a third-party library which cointained it.

    Then don't use the app or better don't use smartphones at all - and
    yes, I am really serious!

    You sound as if I trust the OS I'm running I also *must* trust the apps that can run on it. I sure hope I misinterpreted that.

    Also, there is a reason why some phone OS-es offer you to provide
    apps asking for such a permission a fake list.

    Which does not solve the issue, that you still have to trust the OS that
    it works as intended.

    Indeed. The only difference is that if I (think I) can trust the OS than
    it becomes a bottleneck for the apps that are up to no good, and thereby neutralize those. So instead of having to worry about all the apps I would want to put on my phone I only have to worry about one. I don't know
    about you, but that sounds like quite an improvement.

    Yes - everything is possible! Even if an app has *no* permissions at
    all it still can be harmful since there may be a security bug in Android which a malicous app can exploit. And yes, I am really serious!

    :-) The website mentioned talks about such stuff too. So yes, I'm aware
    of that.

    No, I have no problem trusting an open source app I can check of myself.

    :-) You're lying. You're not *trusting* it, you're *vetting* it. Just like
    I try to do. But somehow /my/ vetting is problematic to you. Why ?

    No I don't expect anything except not being paranoid and trying
    to understand *why* I told you that about Heliboard.

    Ask yourself how I could possibly *know* why you mentioned that app. You might be fully above board, but you could as easly be someone who's trying goading people into installing (trojaned) malware. (don't worry, I'm leaning
    to the former).

    And do ask yourself why I would trust someone I cannot touch if he violates that trust ? Thats not trust, that is merely acknowedging that there is no other choice.

    But to be honest, Heliboard looks, permission wise, to be one of the better ones. If-and-when I install it I likely won't give it that READ_CONTACTS permission though.

    Than again, I might just go for the other one in my (short) list, which only asks access to the dictionary and vibrate.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Sun Jun 23 08:15:09 2024
    Andrew,

    Oh yes, there seems to be a difference : the first being the back-end and
    second the front-end. At least, if I maye take Googles own word for it :

    https://firebase.google.com/firebase-and-gcp

    Thank you for noticing that there's a difference between "Google Firebase" and "Google Services Firebase App Indexing",

    :-) that was never the question.

    The link there and the quote I posted seem to contradict your, rather pertinent, claim that both of the above have zero to do with each other.

    While I will freely admit to not knowing what either one truly is, I don't think one is just the back end of the other - simply because the whole purpose of "Google Services Firebase App Indexing" is for the app to get
    its data in the users' search results ON THE PHONE (as far as I can tell), while the whole purpose of "Google Firebase" is for the app to link in
    access to Google's cloud.

    You already mentioned that data gathered on your phone by that Firebase framework gets send off too somewhere you don't know, but you still refuse
    to consider the possibility that a same-named software "in the cloud", also from Google, could be the recipient of it.

    Yeah, you're definitily confusing me, and it has got nothing to do with our difference in knowledge..

    As far as I can tell, those are two completely different endeavors.

    Well, lets agree on disagreeing on that, shall we ?

    "A note about privacy: The personal content index only exists
    on the user's device. None of the user's personal content is
    uploaded to Google servers and it only remains on the device
    while the app is installed. However, aggregated statistics
    about apps' usage of App Indexing and other system health
    information may be uploaded to Google servers."

    Are you gullible or what ?

    Ask yourself: if Google doesn't want to upload that "personal content" to itself, than why are they gathering it in the first place ?

    Its sounds like the defence of a common thief : "No, no, I just was putting that stuff in my pockets, but I wasn't planning of taking it with me, Constable. No, really." - and just as believable.

    Notice that means it doesn't matter one bit if an application has
    no Internet access... Because Google does.

    Thats the second time you're claiming "because Google does", and the second time you forgot to substanciate it with anything - even though I explicitily asked for it. Do it a third time and I'll plonk you.

    And I'll give you a bone: I can imagine that /some/ app will communicate,
    over the internet, with people/companies unknown. But that "some app" still needs to be given, by the user, access to the internet. Trying to make it sound as if Google somehow (magically?) gets that access without the user having any say in it doesn't fly.

    By the way:

    The problem is that when everyone is talking about stuff they don't know
    much about (including me), then everything any one person says tends to >confuse any other person - because they're not starting from the same >knowledge level.

    Ah yes, thats a nice vague claim with lots of escape room. :-)

    I could mention that I've listened to people who definitily had a lot more knowledge than me and experienced zero confusion, and that is than covered
    by the "tends to" (the "just not now" part). And someone else can mention
    that most all information they have been given confuses them, and thats
    cover by it too.

    IOW, you can use it over the full spectrum of a persons experience (with
    being given, or even asked for, information) and its never wrong. And that makes it absolutily meaningless.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Arno Welzel on Sun Jun 23 09:25:51 2024
    Arno Welzel wrote:

    And F-Droid also shows the permission of any app which you can download
    there - and Heliboard doesnot have internet access:

    confirmed by dumping the manifest from the apk

    C:\Users\Andy\AppData\Local\Android\Sdk\build-tools\34.0.0\aapt2.exe
    dump xmltree C:\Users\Andy\Downloads\helium314.keyboard_1004.apk --file AndroidManifest.xml | find /i "android.permission"

    A: http://schemas.android.com/apk/res/android:name(0x01010003)="android.permission.READ_USER_DICTIONARY"
    (Raw: "android.permission.READ_USER_DICTIONARY")

    A: http://schemas.android.com/apk/res/android:name(0x01010003)="android.permission.RECEIVE_BOOT_COMPLETED"
    (Raw: "android.permission.RECEIVE_BOOT_COMPLETED")

    A: http://schemas.android.com/apk/res/android:name(0x01010003)="android.permission.VIBRATE"
    (Raw: "android.permission.VIBRATE")

    A: http://schemas.android.com/apk/res/android:name(0x01010003)="android.permission.WRITE_USER_DICTIONARY"
    (Raw: "android.permission.WRITE_USER_DICTIONARY")

    A: http://schemas.android.com/apk/res/android:name(0x01010003)="android.permission.READ_CONTACTS"
    (Raw: "android.permission.READ_CONTACTS")

    A: http://schemas.android.com/apk/res/android:permission(0x01010006)="android.permission.BIND_INPUT_METHOD"
    (Raw: "android.permission.BIND_INPUT_METHOD")

    A: http://schemas.android.com/apk/res/android:permission(0x01010006)="android.permission.BIND_TEXT_SERVICE"
    (Raw: "android.permission.BIND_TEXT_SERVICE")

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sun Jun 23 16:50:01 2024
    R.Wieser, 2024-06-23 10:21:

    Arno,

    [...]
    No I don't expect anything except not being paranoid and trying
    to understand *why* I told you that about Heliboard.

    Ask yourself how I could possibly *know* why you mentioned that app. You might be fully above board, but you could as easly be someone who's trying goading people into installing (trojaned) malware. (don't worry, I'm leaning to the former).

    I did not mention the app, that was "Henry The Mole" <henrythemole@mckenziesfarm.old> in his post on June 17, 2024.

    I just tried explained how I came to the conclusion that it does not
    abuse private data and that it does not use Firebase either. I also
    repeatetly suggested *not* to trust me blindly but to ask someone else
    who is able to understand the source code of Heliboard and maybe even
    compile your own version based on that code to be sure what you get!


    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Mon Jun 24 06:26:07 2024
    R.Wieser wrote on Sun, 23 Jun 2024 08:15:09 +0200 :

    You already mentioned that data gathered on your phone by that Firebase framework gets send off too somewhere you don't know, but you still refuse
    to consider the possibility that a same-named software "in the cloud", also from Google, could be the recipient of it.

    If I didn't say it directly, Google is *definitely* the recipient of the Firebase App Index statistics which are uploaded periodically.

    I even quoted an article saying exactly that.

    Are you gullible or what ?

    Ask yourself: if Google doesn't want to upload that "personal content" to itself, than why are they gathering it in the first place ?

    a. Google isn't gathering the data.
    b. The app is gathering the data.
    c. But the app isn't uploading that data.
    d. The app is storing the data on your device.
    e. Google says they only upload "statistics" about that data.
    f. Not the data itself.

    All that was extremely clearly said in the cites I already provided.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Andy Burns on Mon Jun 24 06:45:13 2024
    Andy Burns wrote on Sun, 23 Jun 2024 09:25:51 +0100 :

    And F-Droid also shows the permission of any app which you can download
    there - and Heliboard doesnot have internet access:

    confirmed by dumping the manifest from the apk

    Just as an aside to help others confirm permissions in any app, both PMX
    and Muntashirakon App Manager will dump the permissions of any given app.

    PMX: <https://i.postimg.cc/4yy10LVz/pmx01.jpg>
    App Manager: <https://i.postimg.cc/nLXWPwH1/heliboard07.jpg>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Mon Jun 24 06:34:49 2024
    Arno Welzel wrote on Sun, 23 Jun 2024 03:01:57 +0200 :

    See here:

    <https://firebase.google.com/docs/projects/learn-more?hl=en>

    The goal is to understand things. To that end, I am far less concerned with Firebase Cloud Services than with Firebase App Indexing, which is explained rather clearly below in this cite:

    Google Services Firebase App Indexing (search related):
    <https://medium.com/android-news/firebase-app-indexing-for-personal-content-getting-personal-content-into-search-c52bfe45b3ac>
    "A note about privacy: The personal content index only exists
    on the user's device. None of the user's personal content is
    uploaded to Google servers and it only remains on the device
    while the app is installed. However, aggregated statistics
    about apps' usage of App Indexing and other system health
    information may be uploaded to Google servers."

    From that alone, it's clear Google is *definitely* the recipient of the Firebase App Index aggregated statistics which are uploaded periodically.

    The simplest way I can summarize what that cite clearly states, is this:
    a. Google isn't gathering the data (which is to be found in a local search)
    b. The app is gathering the data (to be found in a local search)
    c. But the app isn't uploading that data (which it stored on the device)
    d. The app is just storing the data (making it available to the search)
    e. Google says they only upload "aggregate statistics" about that data.
    f. Not the data itself.

    In summary, of three things, we only fully know two of them:
    a. We know what data each app is storing in the Firebase App Indexing db
    b. We know who is uploading that index (google) and to where (google)
    c. But we do not know how much of that index google is uploading

    Certainly the Firebase App Indexing contains extremely detailed accounts of your activities, down to every contact you've connected with and every app you've used and every location you've searched for and which songs and
    movies you've viewed, etc.

    But Google says they only upload to their servers an "aggregate index". Whatever that is.

    Does anyone know more about what this "aggregate index" actually contains?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Andrew on Mon Jun 24 08:32:51 2024
    Andrew wrote:

    PMX and Muntashirakon App Manager will dump the permissions of any given app.

    Do their lists of dumped permissions correspond with f-droid's list or
    the list from aapt2?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Mon Jun 24 09:39:18 2024
    Arno,

    I did not mention the app, that was "Henry The Mole" <henrythemole@mckenziesfarm.old> in his post on June 17, 2024.

    He was the first to suggest it. You shoved it forward several times after
    him.

    I just tried explained how I came to the conclusion that it does not
    abuse private data

    Thts pretty-much the problem : you're still talking about a(n specific) app, while my focus was-and-is on the permission.

    And although you are right that the absense of the INTERNET permission for
    that app seems to indicate that exfiltration isn't possible*, I do not leave
    my safe open because I've locked the front door.

    *though at least one person here seems to think that Google can exfiltrate without it.

    But yes, looking at the apps manifest I do not recognise any way in which it could. On the other hand, that doesn't mean much, as I'm a newbie in this
    (why do you think I have been asking about it?), and I could easily miss another permissions unwanted interaction.

    The end result ? Especially with privacy related permission I don't allow
    what I do not see any need for and can be done differently. Which, for this case, I explained that several days back.

    I also repeatetly suggested *not* to trust me blindly but to ask someone
    else
    who is able to understand the source code of Heliboard

    I do not have anyone in my neighbourhood who could, or even wanted to do
    that. They just install the stuff and trust it into high-heaven.

    and maybe even compile your own version based on that code to be sure what you get!

    :-) I seem to remember that, in relation to you making the same claim
    earlier, I asked you if you also vetted the libraries that an app uses. I
    did not hear anything back, so I take that as a "no". And as chances will have it the website I mentioned before also posted articles about how app builders sometimes build malicious apps - not because they intended to do
    so, but simply because they used third-party libraries that contained the malicious code.

    Besides, I think also mentioned that I do not (yet?) have access to both the knowledge needed for it, or the tools to do so.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Mon Jun 24 10:45:07 2024
    Andrew,

    You already mentioned that data gathered on your phone by that Firebase
    framework gets send off too somewhere you don't know, but you still
    refuse
    to consider the possibility that a same-named software "in the cloud",
    also
    from Google, could be the recipient of it.

    If I didn't say it directly, Google is *definitely* the recipient of the Firebase App Index statistics which are uploaded periodically.

    Its fantastic how you "answer" questions that have never been asked, and not even touch the quote you put above it.

    Do I need to quote you on where you said that the Firebase cloud hasn't got *anything* to do with the Firebase on your phone (stated last friday), or do you now think you remember having done so ?

    Heck, even your new thread, "Why do so many people confuse Google's Firebase (cloud API) with Google Services Google Firebase App Indexing (search results)?" just SCREAMS about how still think you are right, but are now
    asking (begging?) people to provide you with the proof/support for it.

    Ask yourself: if Google doesn't want to upload that "personal content" to
    itself, than why are they gathering it in the first place ?

    a. Google isn't gathering the data.
    b. The app is gathering the data.

    Ah yes, lets put some semantics on the road.

    Newsflash : trying to put up a smoke-screen like that doesn't make you look good.

    c. But the app isn't uploading that data.

    Ah yes, the famous "no it isn't" <full stop> response. No support for it
    or even an explanation for it given.

    Besides the problem that I didn't question over what (app ? Service ? Something else ?) does the actual upload - even though you try to make it
    sound I did.

    d. The app is storing the data on your device.

    Do tell what "the app" is and where I claimed otherwise.

    e. Google says they only upload "statistics" about that data.

    I have a bridge to sell you, and some prime building land too.

    f. Not the data itself.

    And you would know that ... how ?

    IOW, another claim that you did not wish to accompany with anything that
    would substanciate it - which causes it not to have any meaning whatsoever.


    Andrew, all you are doing now is to dig the pit into which you fell deeper.
    As a result your believability score took a nosedive.

    Maybe you where/are not aware, but I have a problem with people, like you,
    who state stuff as if they are facts, but forget to support them with
    anything.

    Than again, I seem to remember I mentioned that at least once ...

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Mon Jun 24 12:26:12 2024
    Andy Burns, 2024-06-24 09:32:

    Andrew wrote:

    PMX and Muntashirakon App Manager will dump the permissions of any given app.

    Do their lists of dumped permissions correspond with f-droid's list or
    the list from aapt2?

    Yes - see for yourself:

    <https://f-droid.org/en/packages/helium314.keyboard/>

    Permissions

    read your contacts
    Allows the app to read data about your contacts stored on your
    phone. Apps will also have access to the accounts on your phone that
    have created contacts. This may include accounts created by apps you
    have installed. This permission allows apps to save your contact data,
    and malicious apps may share contact data without your knowledge.
    android.permission.READ_USER_DICTIONARY
    run at startup
    Allows the app to have itself started as soon as the system has
    finished booting. This can make it take longer to start the phone and
    allow the app to slow down the overall phone by always running.
    control vibration
    Allows the app to control the vibrator.
    android.permission.WRITE_USER_DICTIONARY
    helium314.keyboard.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION





    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Arno Welzel on Mon Jun 24 11:56:02 2024
    Arno Welzel wrote:

    Andy Burns wrote:

    Do their lists of dumped permissions correspond with f-droid's list or
    the list from aapt2?

    Yes - see for yourself:

    <https://f-droid.org/en/packages/helium314.keyboard/>

    I did look, which is why I asked ... the f-droid list is not identical
    to the aapt2 list.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From croy@21:1/5 to Andrew on Mon Jun 24 07:25:50 2024
    On Mon, 24 Jun 2024 06:34:49 -0000 (UTC), Andrew <andrew@spam.net> wrote:

    The goal is to understand things. To that end, I am far less concerned with >Firebase Cloud Services than with Firebase App Indexing, which is explained >rather clearly below in this cite:

    From that alone, it's clear Google is *definitely* the recipient of the >Firebase App Index aggregated statistics which are uploaded periodically.

    The simplest way I can summarize what that cite clearly states, is this:
    a. Google isn't gathering the data (which is to be found in a local search) >b. The app is gathering the data (to be found in a local search)
    c. But the app isn't uploading that data (which it stored on the device)
    d. The app is just storing the data (making it available to the search)
    e. Google says they only upload "aggregate statistics" about that data.
    f. Not the data itself.

    In summary, of three things, we only fully know two of them:
    a. We know what data each app is storing in the Firebase App Indexing db
    b. We know who is uploading that index (google) and to where (google)
    c. But we do not know how much of that index google is uploading

    Certainly the Firebase App Indexing contains extremely detailed accounts of >your activities, down to every contact you've connected with and every app >you've used and every location you've searched for and which songs and
    movies you've viewed, etc.

    But Google says they only upload to their servers an "aggregate index". >Whatever that is.

    Does anyone know more about what this "aggregate index" actually contains?

    Being the ludite that I am, I had never heard of Firebase, so I turned to Wikipedia (https://en.wikipedia.org/wiki/Firebase). There I found this
    among the weeds:

    *****
    User privacy controversies

    Firebase has been claimed to be used by Google to track users without their knowledge. On July 14, 2020, a lawsuit was filed accusing Google of
    violating federal wire tap law and California privacy law. It stated that through Firebase, Google collected and stored user data, logging what the
    user was looking at in many types of apps, despite the user following
    Google's own instructions to turn off the web and app activity collected by
    the company.[17] The lawsuit was dismissed in January 2022, with Chief US District Judge Richard Seeborg ruling that a promise to avoid collecting
    user data did not amount to a contract.[18]


    [17] "Google faces lawsuit over tracking in apps even when users opted
    out". Reuters. July 14, 2020. Retrieved July 14, 2020.

    [18] "US federal judge dismisses breach of contract claims in privacy
    class action against Google". www.jurist.org. January 27, 2022. Retrieved
    May 18, 2022.

    *****

    That seems like a very odd decision to me, but there's not really much
    detail in that blurb. But it sure adds bulk to the general cloud (no pun intended) of opinion that, "Google is evil". And I would be interested to
    hear the judge's reasoning in that decision.

    --
    croy

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Mon Jun 24 17:51:31 2024
    Andy,

    I did look, which is why I asked ... the f-droid list is not identical to
    the aapt2 list.

    It would have been nice if you would have mentioned the differences.

    Is it possible those are BIND_INPUT_METHOD and BIND_TEXT_SERVICE ? As
    those are not under "uses-permission", but under "service" -> "permission".

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to R.Wieser on Mon Jun 24 17:18:52 2024
    R.Wieser wrote:

    Andy Burns wrote:

    I did look, which is why I asked ... the f-droid list is not identical to
    the aapt2 list.

    It would have been nice if you would have mentioned the differences.

    The aapt2 permissions

    android.permission.READ_USER_DICTIONARY android.permission.RECEIVE_BOOT_COMPLETED
    android.permission.VIBRATE
    android.permission.WRITE_USER_DICTIONARY
    android.permission.READ_CONTACTS
    android.permission.BIND_INPUT_METHOD
    android.permission.BIND_TEXT_SERVICE

    The f-droid permissions

    android.permission.READ_USER_DICTIONARY
    run at startup (why not use the proper name android.permission RECEIVE_BOOT_COMPLETED?
    control vibration (again call it android.permission.VIBRATE) android.permission.WRITE_USER_DICTIONARY helium314.keyboard.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION


    Is it possible those are BIND_INPUT_METHOD and BIND_TEXT_SERVICE ?

    Yes those are not listed by f-droid

    those are not under "uses-permission", but under "service" -> "permission"

    Thanks, wasn't aware of the distinction, but it's still "a permission"

    Also there's no mention of android.permission.READ_CONTACTS

    Regarding the DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION, I found this

    <https://stackoverflow.com/questions/74146297/android-adding-dynamic-receiver-not-exported-permission-in-release-build>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Mon Jun 24 18:13:26 2024
    R.Wieser wrote on Mon, 24 Jun 2024 10:45:07 +0200 :

    d. The app is storing the data on your device.

    Do tell what "the app" is and where I claimed otherwise.

    There are many apps doing it, for example, "Windy" is doing it.
    <https://i.postimg.cc/QtfJ59LP/firebase02.jpg> Firebase indexed app data

    The only question that remains unanswered is what is contained in that
    index which Google says they may upload to their servers, since Google explicitly says what they upload is not the data that Windy saves on the
    device (which is intended to be found in on-device search results).

    If you can answer that question, that would add value for the team.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to croy on Mon Jun 24 18:23:19 2024
    croy wrote on Mon, 24 Jun 2024 07:25:50 -0700 :

    Being the ludite that I am, I had never heard of Firebase, so I turned to Wikipedia (https://en.wikipedia.org/wiki/Firebase). There I found this
    among the weeds:

    *****
    User privacy controversies

    Firebase has been claimed to be used by Google to track users without their knowledge. On July 14, 2020, a lawsuit was filed accusing Google of
    violating federal wire tap law and California privacy law. It stated that through Firebase, Google collected and stored user data, logging what the user was looking at in many types of apps, despite the user following Google's own instructions to turn off the web and app activity collected by the company.[17] The lawsuit was dismissed in January 2022, with Chief US District Judge Richard Seeborg ruling that a promise to avoid collecting
    user data did not amount to a contract.[18]

    [17] "Google faces lawsuit over tracking in apps even when users opted
    out". Reuters. July 14, 2020. Retrieved July 14, 2020.

    [18] "US federal judge dismisses breach of contract claims in privacy
    class action against Google". www.jurist.org. January 27, 2022. Retrieved May 18, 2022.

    *****

    That seems like a very odd decision to me, but there's not really much
    detail in that blurb. But it sure adds bulk to the general cloud (no pun intended) of opinion that, "Google is evil". And I would be interested to hear the judge's reasoning in that decision.

    Thanks for confirming everything I've been saying, which is (essentially)
    that unless the person (or article) specifically mentions "Firebase App Indexing", then that person (or article) is useless for the purpose asking
    them to provide any insight into the privacy aspect of Firebase App
    Indexing.

    As you've certainly already learned from that Wikipedia Firebase article,
    there is not only no mention whatsoever of "App Indexing", it doesn't even mention the word "indexing"; so it's essentially useless for our purpose.

    As you've also already ascertained, even the blurb about the privacy
    issues, when you delve into it, also doesn't mention the words "app
    indexing", so it's really a dead end.

    Is the lawsuit about Firebase App Indexing?
    We don't know because Firebase App Indexing was never mentioned (AFAICT).

    Moving forward, Arno helped me with some keywords such that I think I wrote
    a pretty good summary of what Firebase App Indexing is in terms of the
    overall Firebase suite of completely and utterly unrelated tools.
    *Why do so many people confuse Google's Firebase (cloud API)*
    *with Google Services Google Firebase App Indexing (search results)?*
    <https://www.novabbs.com/computers/article-flat.php?id=53751&group=comp.mobile.android#53751>

    If I knew what I know now when I had opened that thread, I wouldn't have
    titled it that, as it turns out that Google uses the word "Firebase" to
    lump into the collection of APIs a huge amount of completely unrelated
    things, only one of which is Firebase App Indexing.

    Here's just some of the wholly unrelated things Google considers Firebase:
    1. A/B Testing (Google Services Firebase A/B Testing)
    2. AdMob (Google Services Firebase AdMob)
    3. Analytics (Google Services Firebase Analytics)
    4. App Indexing (Google Services Firebase App Indexing)
    5. Authentication (Google Services Firebase Authentication)
    6. Cloud Firestore (Google Services Firebase Cloud Firestore)
    7. Cloud Functions (Google Services Firebase Cloud Functions)
    8. Cloud Messaging (Google Services Firebase Cloud Messaging)
    9. Cloud Storage (Google Services Firebase Cloud Storage)
    10. Crashlytics (Google Services Firebase Crashlytics)
    11. Dynamic Links (Google Services Firebase Dynamic Links)
    12. Performance Monitoring (Google Services Firebase Performance Monitoring) 13. Realtime Database (Google Services Firebase Realtime Database)
    14. Remote Config (Google Services Firebase Remote Config)

    While "Google Services Firebase App Indexing" is deprecated,
    Firebase App Indexing is still very active on our Android phones,
    where an UPDATE_INDEX is still, even today, being uploaded
    periodically to Google servers based on what this cite explains.

    Google Services Firebase App Indexing <https://medium.com/android-news/firebase-app-indexing-for-personal-content-getting-personal-content-into-search-c52bfe45b3ac>
    "A note about privacy: The personal content index
    only exists on the user's device.
    None of the user's personal content is uploaded
    to Google servers and it only remains on the
    device while the app is installed.
    However, aggregated statistics about apps' usage
    of App Indexing and other system health
    information may be uploaded to Google servers."

    You can see it for yourself on your own phone in front of you.
    <https://i.postimg.cc/KvCkLccr/firebase03.jpg> Firebase tracking

    The main unknown is how can we figure out what exactly is
    Google uploading when they get the SEND_INDEX results?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Mon Jun 24 20:32:10 2024
    Andy,

    Is it possible those are BIND_INPUT_METHOD and BIND_TEXT_SERVICE ?

    Yes those are not listed by f-droid

    those are not under "uses-permission", but under "service" ->
    "permission"

    Thanks, wasn't aware of the distinction, but it's still "a permission"

    I wasn't aware either. This subthread ("they differ") brought them to my attention. So thank you.

    run at startup (why not use the proper name android.permission RECEIVE_BOOT_COMPLETED?

    Most smartphone users have little-to-no technical background. They would
    be stumped to translate the latter to the former - which they have a better chance to understand.

    Is it possible those are BIND_INPUT_METHOD and BIND_TEXT_SERVICE ?

    Yes those are not listed by f-droid

    those are not under "uses-permission", but under "service" ->
    "permission"

    Thanks, wasn't aware of the distinction, but it's still "a permission"

    Yep, it is. I can imagine quite a bit of funky stuff you could do when you
    can inject keystokes into the phone.

    Also there's no mention of android.permission.READ_CONTACTS

    Although the apk in question doesn't seem to have any way to send the data anywhere, forgetting to mention such a privacy related permission is not
    good. Luckily the phone itself will still ask for it.

    Regarding the DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION, I found this
    [snip]

    I also did search for an explanation to that permission, and remember having found the same webpage. But alas, even after reading it I have no idea how
    an app protecting itself from malfunctioning (not to say malicious) other
    apps needs a permission. I'm rather likely missing something there, but I don't know what. :-(

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Mon Jun 24 22:13:56 2024
    R.Wieser wrote on Mon, 24 Jun 2024 20:32:10 +0200 :

    Also there's no mention of android.permission.READ_CONTACTS

    Although the apk in question doesn't seem to have any way to send the data anywhere, forgetting to mention such a privacy related permission is not good. Luckily the phone itself will still ask for it.

    As another related side note, if you want to see which installed apps have
    been granted permission to access contacts, Permission Manager shows it.
    <https://i.postimg.cc/NFD9fWjG/permissionmanager.jpg>

    Permission Manager
    <https://github.com/YourStreet/android-permission-manager>
    <https://play.google.com/store/apps/details?id=in.yourstreet.permissionmanager>
    (I have this installed but I don't see an APK there anymore.)

    Not sure why, but when I granted contact access to HeliBoard,
    it still didn't show up in the Contacts permission tab though.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Tue Jun 25 09:26:02 2024
    Andrew

    d. The app is storing the data on your device.

    Do tell what "the app" is and where I claimed otherwise.

    There are many apps doing it,
    [snip]

    Ah yes, a nice "lets flip the whole thing" from THE app to "many apps".

    You still forgot (if that is the correct word for it, and I doubt it) one
    thing though : quoting me on where I said otherwise.

    The only question that remains unanswered is what is contained in
    that index which Google says they may upload to their servers,

    Really ? You seemed to indicate you aready knew what went into it (as
    posted by you in the evening of last friday)

    But nope. A number of other questions remain unanswered.

    Like why you think it was a good idea to resort to semantics, what you tried
    to do with that smokescreen, and substanciations to your "the app isn't uploading that data" and the "Not the data itself" claims.

    If you can answer that question, that would add value for the team.

    Andrew - or should I just call you Arlen - why would I want to be part of a team (of one, just you) who cannot explain, let alone support his own
    claims* but keeps pushing them nonetheless, even when he's been told that
    that doesn't really create confidence in you ? Who also makes makes
    claims that suggest wrongdoing and than when called out on them refuses to respond ?

    * and is now pumping others, and now me, to come up with it.

    Besides, you do not want team members (equals), you want gofers who provide
    you with the stuff you need - after which you ditch them.

    Though I must say your table manners have improved considerably. No
    incoherent ranting when someone disagrees with you. Your MO is still the
    same though.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Tue Jun 25 09:37:20 2024
    Andrew,

    Not sure why, but when I granted contact access to HeliBoard,
    it still didn't show up in the Contacts permission tab though.

    Assuming your phones OS works correctly and should have displayed it, whats your conclusion ?

    And having come to a conclusion, what do you think you could do to verify it
    ?

    Ah, whom am I kidding here. There is no way you will be able to come up
    with an answer to either.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Thu Jun 27 03:22:40 2024
    R.Wieser wrote on Tue, 25 Jun 2024 09:37:20 +0200 :

    Not sure why, but when I granted contact access to HeliBoard,
    it still didn't show up in the Contacts permission tab though.

    Assuming your phones OS works correctly and should have displayed it, whats your conclusion ?

    We'd need more data which is why the best way to answer your question is
    for you (or anyone else who is curious to obtain that answer) to install
    the app & test it and then let us know what it reported. Just like I did.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 27 09:24:19 2024
    R.Wieser, 2024-06-24 09:39:

    [...]> The end result ? Especially with privacy related permission I
    don't allow
    what I do not see any need for and can be done differently. Which, for this case, I explained that several days back.

    Well - if a keyboard app offers to use the names of your contacts as
    word suggestion, this can not be done differently.

    But feel free to ask someone to fork the app and create a version which
    does not have the contact name integration and thus doesn't need contact
    access either.

    Also keep in mind, that the permission is not active by default when
    installing the app and you can manually disable it as well.

    [...]
    I also repeatetly suggested *not* to trust me blindly but to ask someone
    else
    who is able to understand the source code of Heliboard

    I do not have anyone in my neighbourhood who could, or even wanted to do that. They just install the stuff and trust it into high-heaven.

    Then don't use the app and look for something else since you don't
    believe anyone anyway.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 27 09:26:44 2024
    Andy Burns, 2024-06-24 12:56:

    Arno Welzel wrote:

    Andy Burns wrote:

    Do their lists of dumped permissions correspond with f-droid's list or
    the list from aapt2?

    Yes - see for yourself:

    <https://f-droid.org/en/packages/helium314.keyboard/>

    I did look, which is why I asked ... the f-droid list is not identical
    to the aapt2 list.

    It is! Don't get confused by the naming of the permissions. There are 6 permissions - both listed in F-Droid and PMX.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Arno Welzel on Thu Jun 27 08:52:49 2024
    Arno Welzel wrote:

    Don't get confused by the naming of the permissions.

    A good reason for f-droid to be consistent in providing them *all* in recognisable android.permission.XXXXX_YYYYY_ZZZZZ format, as well as
    their "cuddly" interpretation ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Thu Jun 27 10:53:11 2024
    Arno,

    Well - if a keyboard app offers to use the names of your contacts
    as word suggestion, this can not be done differently.

    You're stuck on a technological solution where a simpler one already exists.

    Do you have a pet ? Are you going to put its name in that contacts list
    too ? If not, how /do/ you get its name in that exclusion list ?

    And yes, I already mentioned that earlier in this thread.

    But feel free to ask someone to fork the app and create a version which
    does not have the contact name integration and thus doesn't need contact access either.

    Or do the more obvious, and look for an already existing app which doesn't require it. And IIRC, I alread mentioned one.

    Then don't use the app and look for something else since you don't
    believe anyone anyway.

    I *thought* we had a discussion about a permission and how its easily a
    privacy risk. I guess I was wrong.

    I also tried to explain how my trust needs to be of another, higher level
    than yours and how your 'trust' (being able to inspect and understand the sourcecode) looks to be anything but. For some reason you had little to
    say to that.

    I think we should end this thread.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From R.Wieser@21:1/5 to All on Thu Jun 27 10:28:47 2024
    Andrew,

    We'd need more data which is why the best way to answer your question
    is for you (or anyone else who is curious to obtain that answer) to
    install
    the app & test it and then let us know what it reported.

    Kiddo, its really you. *You* do not understand something, and than *we*
    need more data.

    Newsflash kiddo, *we* don't. *You* do.

    And than you refuse to "let us know what it reported" when you installed it yourself, but are telling/demanding from us to copy your (alledged) work AND THAN REPORT WITH IT BACK TO YOU ?

    Why ? You already have that report, so why would you need our copy of it ? What would our reports tell you what yours doesn't ?

    Ah, you have no idea ? Yeah, why am I not surprised

    Ofcourse, there are, rather obvious, reasons why our reports could well be different from yours. The fact that you nonetheless ask for them means
    that, nonwithstanding your years mucking around with technology, you do not understand much about basic science.

    But, just keep telling people who give you a correct answer but one which doesn't align with your preconceptions that they didn't understand the
    question (yes, I read some posts in your other "Tell me how-and-why I'm
    right" thread too). You do not need people who honestly answer your
    question, you just need "Yes men". And that means you will stay (a
    special kind of) stupid.

    Than again, maybe all you are out for is to declare yourself to be smarter
    than everybody else, because your questions are *so good* that nobody understands them. Who knows.

    Regards,
    Rudy Wieser

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Thu Jun 27 13:02:33 2024
    R.Wieser, 2024-06-27 10:53:

    Arno,
    [...]
    Then don't use the app and look for something else since you don't
    believe anyone anyway.

    I *thought* we had a discussion about a permission and how its easily a privacy risk. I guess I was wrong.

    No - that's just asbout privacy risks. If an app does have permission
    you don't like, then don't use it. What's the problem with that?

    I think we should end this thread.

    Indeed. Next time just do not ask why an app may ask for certain
    permissions - just don't use it, instead of starting lengthy discussions
    about that.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to R.Wieser on Thu Jun 27 21:12:00 2024
    R.Wieser wrote on Thu, 27 Jun 2024 10:28:47 +0200 :

    We'd need more data which is why the best way to answer your question
    is for you (or anyone else who is curious to obtain that answer) to
    install
    the app & test it and then let us know what it reported.

    Kiddo, its really you. *You* do not understand something, and than *we*
    need more data.

    I installed the app. I posted a screenshot of the results. You did neither.

    If you don't know how to use Android enough to install an app and post the screenshot when you ask what the app reports, then that's the end of it.

    It's your issue that you can't do the simplest things on Android; not mine.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Andy Burns on Thu Jun 27 21:21:48 2024
    Andy Burns wrote on Thu, 27 Jun 2024 08:52:49 +0100 :

    Don't get confused by the naming of the permissions.

    A good reason for f-droid to be consistent in providing them *all* in recognisable android.permission.XXXXX_YYYYY_ZZZZZ format, as well as
    their "cuddly" interpretation ...

    I agree with both Arno (that they're all there on F-Droid -only scattered)
    and with Andy (that F-Droid made some of them cuddly, which is confusing).

    Luckily, more than one tool can be used to reporter permissions on an app; however, most require the app APK to already be installed on Android.

    The tools Arno & Andy are discussing I think can be used BEFORE the APKs
    are installed (such as the F-Droid description and the output from ).
    <https://developer.android.com/tools/aapt2>

    I have Android Studio installed from years ago, but I couldn't figure out
    how to install aapt2 so I gave up at this point below in the maven repo.
    <https://maven.google.com/web/index.html?q=aa#com.android.tools.build:aapt2>
    <https://maven.google.com/web/index.html?q=aa#com.android.tools.build:aapt2:8.6.0-alpha08-11315950>

    It's simpler to use permission-reporting tools AFTER the APK is installed.
    1. PMX
    <https://f-droid.org/de/packages/com.mirfatif.permissionmanagerx/>

    2. Permission Manager
    <https://github.com/YourStreet/android-permission-manager>
    <https://play.google.com/store/apps/details?id=in.yourstreet.permissionmanager>
    (I have this installed but I don't see an APK there anymore.)

    3. Muntashirakon App Manager
    <https://github.com/MuntashirAkon/AppManager/releases>

    If someone can explain how to install aapt2 to run on an APK,
    let me know; otherwise I'll stick with the three tools above.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Andrew on Fri Jun 28 09:54:12 2024
    Andrew wrote:

    It's simpler to use permission-reporting tools AFTER the APK is installed.

    There's a problem with that approach (though not applicable in this
    instance)

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your
    entire contact list is already circulating in
    China/Russia/Somethingistan ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sat Jun 29 11:23:03 2024
    Andy Burns, 2024-06-28 10:54:

    Andrew wrote:

    It's simpler to use permission-reporting tools AFTER the APK is installed.

    There's a problem with that approach (though not applicable in this
    instance)

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your
    entire contact list is already circulating in
    China/Russia/Somethingistan ...

    No, since the app has to be started first. An app will not get started automatically just because you have installed it.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Arno Welzel on Sat Jun 29 10:33:40 2024
    On 29/06/2024 10:23, Arno Welzel wrote:
    Andy Burns, 2024-06-28 10:54:

    Andrew wrote:

    It's simpler to use permission-reporting tools AFTER the APK is installed. >>
    There's a problem with that approach (though not applicable in this
    instance)

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your
    entire contact list is already circulating in
    China/Russia/Somethingistan ...

    No, since the app has to be started first. An app will not get started automatically just because you have installed it.

    if it installs a service it will ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Sun Jun 30 10:03:41 2024
    Andy Burns, 2024-06-29 11:33:

    On 29/06/2024 10:23, Arno Welzel wrote:
    Andy Burns, 2024-06-28 10:54:

    Andrew wrote:

    It's simpler to use permission-reporting tools AFTER the APK is installed. >>>
    There's a problem with that approach (though not applicable in this
    instance)

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your
    entire contact list is already circulating in
    China/Russia/Somethingistan ...

    No, since the app has to be started first. An app will not get started
    automatically just because you have installed it.

    if it installs a service it will ...

    No, not even a service will start automatically. The app must be invoked
    by the user once in any case.

    Only when the app has a android.intent.action.BOOT_COMPLETED intent
    filter (and the respective permission to recieve this event), it may use
    this to start a service automatically when you *reboot* your device. But
    just installing something will *never* automatically start it.

    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Arno Welzel on Thu Jul 4 05:12:34 2024
    Arno Welzel wrote on Sun, 30 Jun 2024 10:03:41 +0200 :

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your
    entire contact list is already circulating in
    China/Russia/Somethingistan ...

    No, since the app has to be started first. An app will not get started
    automatically just because you have installed it.

    if it installs a service it will ...

    No, not even a service will start automatically. The app must be invoked
    by the user once in any case.

    Only when the app has a android.intent.action.BOOT_COMPLETED intent
    filter (and the respective permission to recieve this event), it may use
    this to start a service automatically when you *reboot* your device. But
    just installing something will *never* automatically start it.

    I defer to Arno's and Andy's experience (the "A's" on this ng are stellar!) however - I will state a test I ran which shocked me when I ran it.

    1. Make sure you know EXACTLY what is in your contacts database
    (e.g., put a test entry that is unambiguously brand new).

    2. Make sure you do NOT have a Google Account (or any account) set up
    on the phone (where the Google Account is the culprit here).

    3. Then, install the Google GMail app, and simply run it the first time
    (i.e., log into the GMail app to get your IMAP-stored email messages).

    Guess what just happened.

    Exactly what Andy said would happen.

    By default, you got NO SAY in what would happen to your contacts.
    You can *change* the default after the fact - but the damage is done.

    Google, by default, did two very lousy things in my tests of this.
    1. Google unilaterally *created* an account on the Android phone!
    2. Google unilaterally *uploaded* your sqlite contacts db to that account!

    Of course, after that happens, you can then modify the Google Gmail app to
    NOT upload your contacts - but it's already too late by that time period.

    Just as Andy said it would be.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Andy Burns on Thu Jul 4 05:07:21 2024
    Andy Burns wrote on Fri, 28 Jun 2024 09:54:12 +0100 :

    It's simpler to use permission-reporting tools AFTER the APK is installed.

    There's a problem with that approach (though not applicable in this
    instance)

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your
    entire contact list is already circulating in
    China/Russia/Somethingistan ...

    Thanks for that warning, which I fully agree with you is the problem of checking permissions *after* the app is installed - as it can do harm.

    As you're aware, I'm different from most people though, in that I have
    already long ago put in place an amelioration procedure for that problem.

    What I do is I make sure the default contacts sqlite database is populated
    with garbage, which is easily done using various tools that do that for me.
    Fake Contacts
    Create fake phone contacts, for data-poisoning.
    <https://f-droid.org/en/packages/me.billdietrich.fake_contacts/>

    Of course, once I abandoned the employment of the default sqlite contacts database, I had to rely upon only the best of the SMS/MMS & phone apps
    which can import/export my "real" personal contacts vcard VCF files.

    I'm sure you and Arno understand what I said above, but I'd wager that only
    one out of a million Android owners would understand a word I said above.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arno Welzel@21:1/5 to All on Fri Jul 5 12:55:59 2024
    Andrew, 2024-07-04 07:12:

    Arno Welzel wrote on Sun, 30 Jun 2024 10:03:41 +0200 :

    if you install an app which has both READ_CONTACTS permission and
    INTERNET permission, by the time you've checked the permissions, your >>>>> entire contact list is already circulating in
    China/Russia/Somethingistan ...

    No, since the app has to be started first. An app will not get started >>>> automatically just because you have installed it.

    if it installs a service it will ...

    No, not even a service will start automatically. The app must be invoked
    by the user once in any case.

    Only when the app has a android.intent.action.BOOT_COMPLETED intent
    filter (and the respective permission to recieve this event), it may use
    this to start a service automatically when you *reboot* your device. But
    just installing something will *never* automatically start it.

    I defer to Arno's and Andy's experience (the "A's" on this ng are stellar!) however - I will state a test I ran which shocked me when I ran it.

    1. Make sure you know EXACTLY what is in your contacts database
    (e.g., put a test entry that is unambiguously brand new).

    2. Make sure you do NOT have a Google Account (or any account) set up
    on the phone (where the Google Account is the culprit here).

    3. Then, install the Google GMail app, and simply run it the first time
    (i.e., log into the GMail app to get your IMAP-stored email messages).

    Guess what just happened.

    Better: do NOT RUN it without checking its permissions first!

    Exactly what Andy said would happen.

    By default, you got NO SAY in what would happen to your contacts.
    You can *change* the default after the fact - but the damage is done.

    Yes, because you just did what many users do - install an app and run it without giving a shit, what will happen then.

    Also see here:

    <https://play.google.com/store/apps/details?id=com.google.android.gm&hl=en>

    Click on "See details" in the "Data safety" box:

    <https://play.google.com/store/apps/datasafety?id=com.google.android.gm&hl=en>

    So why is it surprising for you?

    Google, by default, did two very lousy things in my tests of this.
    1. Google unilaterally *created* an account on the Android phone!
    2. Google unilaterally *uploaded* your sqlite contacts db to that account!

    Yes, because you use a phone with Google services and use an app from
    Google on it. Why does this surprise you? The normal way to use an
    Android phone with Google services is to use a Google Account on it.

    If you don't want to have this, use LineageOS *without* any Google
    services (these are not included in LineageOS) and use F-Droid as the
    source for apps. This works in many cases. Only if you need banking apps
    or payment this is usually not suitable. But even for LineageOS you can
    install one of the GApps-Packages or maybe even a Google Play Services replacement may work for some Banking apps.


    --
    Arno Welzel
    https://arnowelzel.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)