├── .github └── ISSUE_TEMPLATE │ ├── config.yml │ └── app_report.yml └── README.md /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Banking apps compatibility with GrapheneOS 2 | 3 | Report and track international banking app compatibility with GrapheneOS, including workarounds that may be required for those apps. 4 | 5 | ## Table of Contents 6 | 7 | - [Introduction](#introduction) 8 | - [Usage](#usage) 9 | - [Workarounds](#workarounds) 10 | - [Notes](#notes) 11 | 12 | # Introduction 13 | 14 | A crowd-sourced project dataset for [GrapheneOS](https://grapheneos.org/) users on [supported devices](https://grapheneos.org/faq#supported-devices). It features a maintained compatibility [list of tested international banking apps](https://privsec.dev/posts/android/banking-applications-compatibility-with-grapheneos/#international-banking-apps), which is [reviewed](https://github.com/PrivSec-dev/banking-apps-compat-report/issues?q=is%3Aissue+is%3Aclosed) and [published](https://privsec.dev/banking). 15 | 16 | [PrivSec.dev](https://privsec.dev) hosts this 3rd-party community-sourced effort, offering detailed information and workarounds that may be required for those apps. 17 | 18 | ## It is essential to note that GrapheneOS: 19 | - **[does not](https://grapheneos.org/usage#banking-apps:~:text=grapheneos%20does%20not%20make%20any%20guarantees%20regarding%20the%20list's%20validity.) make any guarantees regarding the list's validity** 20 | - provides a [banking apps usage guide](https://grapheneos.org/usage#banking-apps) 21 | - provides a detailed [attestation compatibility guide](https://grapheneos.org/articles/attestation-compatibility-guide) for banking app developers 22 | 23 | # Usage 24 | 25 | - View the [current list](https://privsec.dev/posts/android/banking-applications-compatibility-with-grapheneos/#international-banking-apps) of international banking apps' compatibility with GrapheneOS. 26 | - See the [issue tracker](https://github.com/PrivSec-dev/banking-apps-compat-report/issues) for detailed banking app reports. You can also use it to search, track, and/or update report status. 27 | - Submit a banking app report by [opening a new issue and filling out the form](https://github.com/PrivSec-dev/banking-apps-compat-report/issues/new?assignees=&labels=app+report&projects=&template=app_report.yml&title=%5BReplace+this+with+the+name+of+your+banking+app%5D). 28 | --- 29 | 30 | # Workarounds 31 | 32 | See https://discuss.grapheneos.org/d/8330-app-compatibility-with-grapheneos 33 | 34 | --- 35 | 36 | # Notes 37 | 38 | This repository is for reporting, tracking, and updating the status of banking app compatibility with GrapheneOS only. If you want to suggest [edits](https://github.com/PrivSec-dev/privsec.dev/blob/main/content/posts/android/Banking%20Applications%20compatibility%20with%20GrapheneOS.md) on the [banking apps web page](https://privsec.dev/posts/android/banking-applications-compatibility-with-grapheneos/), which are unrelated to the reports, please use [`PrivSec-dev/privsec.dev`](https://github.com/PrivSec-dev/privsec.dev/)'s repository [issue-tracker](https://github.com/PrivSec-dev/privsec.dev/issues). 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/app_report.yml: -------------------------------------------------------------------------------- 1 | name: Submit your banking app report 2 | description: Report a banking app's compatibility on GrapheneOS 3 | title: "[Replace this with the name of your banking app]" 4 | labels: ["app report"] 5 | body: 6 | 7 | - type: markdown 8 | attributes: 9 | value: | 10 | If you haven't already, please view the official [banking apps usage guide](https://grapheneos.org/usage#banking-apps). 11 | 12 | Experiencing issues with your app? Refer to the [possible workaround solutions on our forum](https://discuss.grapheneos.org/d/8330-app-compatibility-with-grapheneos). 13 | 14 | - type: checkboxes 15 | attributes: 16 | label: Is there an existing issue for this? 17 | description: For updates or changes, comment on the existing reports. Check for existing issues to prevent duplicates. 18 | options: 19 | - label: I have searched the existing issues 20 | required: true 21 | 22 | - type: input 23 | id: version 24 | attributes: 25 | label: App name 26 | description: What is the banking app called? 27 | placeholder: BMO Mobile Banking 28 | validations: 29 | required: true 30 | 31 | - type: input 32 | id: app_link 33 | attributes: 34 | label: Link to app 35 | description: Paste the download link (Play Store preferably) or tell us where to get the app if possible 36 | placeholder: https://play.google.com/store/apps/details?id=com.bmo.mobile 37 | validations: 38 | required: true 39 | 40 | - type: input 41 | id: os 42 | attributes: 43 | label: App version 44 | description: | 45 | What version of the app did you test it with? 46 | 47 | `Settings` → `Apps` → `App` → `Version` 48 | placeholder: v1.3.3.7 49 | validations: 50 | required: true 51 | 52 | - type: input 53 | id: country 54 | attributes: 55 | label: Country of the app 56 | description: Specify what country the app is for (it is assumed you're using it in the same country here) 57 | placeholder: Canada 58 | validations: 59 | required: true 60 | - type: input 61 | id: build_number 62 | attributes: 63 | label: Build Number 64 | description: | 65 | What version of GrapheneOS are you currently using? 66 | 67 | `Settings` → `About phone` → `Build number` 68 | placeholder: "2025041100" 69 | validations: 70 | required: true 71 | 72 | - type: dropdown 73 | id: selectdevice 74 | attributes: 75 | label: Device list 76 | description: Which Pixel(s) have you tested this with? 77 | multiple: true 78 | options: 79 | - Pixel 10 Pro Fold 80 | - Pixel 10 Pro XL 81 | - Pixel 10 Pro 82 | - Pixel 10 83 | - Pixel 9a 84 | - Pixel 9 Pro Fold 85 | - Pixel 9 Pro XL 86 | - Pixel 9 Pro 87 | - Pixel 9 88 | - Pixel 8a 89 | - Pixel 8 Pro 90 | - Pixel 8 91 | - Pixel Fold (7th gen) 92 | - Pixel Tablet (7th gen) 93 | - Pixel 7a 94 | - Pixel 7 Pro 95 | - Pixel 7 96 | - Pixel 6a 97 | - Pixel 6 Pro 98 | - Pixel 6 99 | - Pixel 5a (EOL/ESR) 100 | - Pixel 5 (EOL/ESR) 101 | - Pixel 4a (5G) (EOL/ESR) 102 | - Pixel 4a (EOL/ESR) 103 | - Pixel 4 XL (EOL/ESR) 104 | - Pixel 4 (EOL/ESR) 105 | validations: 106 | required: true 107 | 108 | - type: dropdown 109 | id: profiles 110 | attributes: 111 | label: Profile app tested in 112 | description: Which user profile(s) was this tested on? 113 | multiple: true 114 | options: 115 | - Owner profile 116 | - Private Space 117 | - Secondary profile(s) 118 | - Work profile (Add details in extra notes below, i.e., device manager app name) 119 | validations: 120 | required: true 121 | 122 | - type: dropdown 123 | id: googleplay 124 | attributes: 125 | label: Google Play installed? 126 | description: Do you have Google Play installed in the profile you tested in? 127 | multiple: false 128 | options: 129 | - Not Installed 130 | - Installed 131 | validations: 132 | required: true 133 | 134 | - type: dropdown 135 | id: store 136 | attributes: 137 | label: Where did you install this app from? 138 | description: Select your banking app installation method. 139 | multiple: false 140 | options: 141 | - Google Play Store 142 | - Aurora Store 143 | - Other (extra notes below) 144 | validations: 145 | required: true 146 | 147 | - type: checkboxes 148 | attributes: 149 | label: Native code debugging 150 | description: | 151 | Was [native code debugging](https://grapheneos.org/usage#banking-apps) enabled or disabled during the testing? 152 | 153 | `Settings` → `Apps` → `App in question` → `Exploit protection` 154 | options: 155 | - label: Allowed 156 | - label: Blocked 157 | 158 | - type: checkboxes 159 | attributes: 160 | label: Exploit protection compatibility mode 161 | description: | 162 | Was per-app [exploit protection compatibility mode](https://grapheneos.org/usage#bugs-uncovered-by-security-features) enabled or disabled during the testing? 163 | 164 | `Settings` → `Apps` → `App in question` → `Exploit protection` 165 | options: 166 | - label: Enabled 167 | - label: Disabled 168 | 169 | - type: checkboxes 170 | attributes: 171 | label: Memory tagging 172 | description: | 173 | Was [memory tagging](https://grapheneos.org/usage#bugs-uncovered-by-security-features) enabled? Only applicable to 8th generation pixels and later. 174 | 175 | `Settings` → `Apps` → `App in question` → `Exploit protection` 176 | options: 177 | - label: Enabled 178 | - label: Disabled 179 | - label: N/A 180 | 181 | - type: checkboxes 182 | attributes: 183 | label: Dynamic code loading via memory 184 | description: | 185 | Was [dynamic code loading](https://grapheneos.org/features#exploit-protection) via memory restricted or allowed? 186 | 187 | `Settings` → `Apps` → `App in question` → `Exploit protection` 188 | options: 189 | - label: Restricted 190 | - label: Allowed 191 | 192 | - type: checkboxes 193 | attributes: 194 | label: Dynamic code loading via storage 195 | description: | 196 | Was [dynamic code loading](https://grapheneos.org/features#exploit-protection) via storage restricted or allowed? 197 | 198 | `Settings` → 'Apps' → 'App in question' 'Exploit protection' 199 | options: 200 | - label: Restricted 201 | - label: Allowed 202 | 203 | - type: checkboxes 204 | attributes: 205 | label: Does the app use the Play Integrity API? 206 | description: | 207 | Does this app use the Play Integrity API? Did you block its usage? You are notified if it does. The setting appears only then. 208 | 209 | `Settings` → `Apps` → `App in question` → `Advanced` 210 | options: 211 | - label: Yeah 212 | - label: Yea, blocked 213 | - label: Nope 214 | 215 | - type: checkboxes 216 | attributes: 217 | label: NFC payments 218 | description: Does this app allow NFC payments? 219 | options: 220 | - label: Works 221 | - label: Works but requires another service 222 | - label: Does not work 223 | - label: N/A (Not supported by app) 224 | - label: Not tested 225 | 226 | - type: textarea 227 | id: description 228 | attributes: 229 | label: Description of the app's functionality 230 | description: | 231 | What happens when you use the app? What tasks do work and don't work? What is the expected outcome of each thing you do? Did you test any other configurations and setups? Please mention all the steps to reproduce any issues. Do not leave out any information. 232 | 233 | Tip: You can attach images by clicking this area to highlight it and then dragging files in. 234 | validations: 235 | required: true 236 | 237 | - type: textarea 238 | id: extra_notes 239 | attributes: 240 | label: Are there any extra notes you think users should know about? 241 | description: | 242 | Did you do any workarounds other users should know that aren't listed here? 243 | 244 | Tip: You can attach images by clicking this area to highlight it and then dragging files in. 245 | validations: 246 | required: false 247 | 248 | - type: textarea 249 | id: adb_logs 250 | attributes: 251 | label: ADB logcat of the app if necessary 252 | description: | 253 | If you have any logs that come up that the app is creating relevant to anything mentioned like app crashes, SafetyNet, etc, please send a GitHub Gist of them. Do not send a bug report ZIP to us. They may expose sensitive information. If you wish to send a bug report ZIP, please do so directly to a GrapheneOS project member or developer. 254 | 255 | Tip: You can attach images by clicking this area to highlight it and then dragging files in. 256 | render: systemverilog 257 | validations: 258 | required: false 259 | 260 | - type: markdown 261 | attributes: 262 | value: | 263 | Thank you for taking the time to fill out this report. Please keep tabs on it in case we get back to you. 264 | 265 | --------------------------------------------------------------------------------