├── .github └── ISSUE_TEMPLATE │ ├── app_report.yml │ └── config.yml └── README.md /.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 9a 80 | - Pixel 9 Pro Fold 81 | - Pixel 9 Pro XL 82 | - Pixel 9 Pro 83 | - Pixel 9 84 | - Pixel 8a 85 | - Pixel 8 Pro 86 | - Pixel 8 87 | - Pixel Fold (7th gen) 88 | - Pixel Tablet (7th gen) 89 | - Pixel 7a 90 | - Pixel 7 Pro 91 | - Pixel 7 92 | - Pixel 6a 93 | - Pixel 6 Pro 94 | - Pixel 6 95 | - Pixel 5a (EOL/ESR) 96 | - Pixel 5 (EOL/ESR) 97 | - Pixel 4a (5G) (EOL/ESR) 98 | - Pixel 4a (EOL/ESR) 99 | - Pixel 4 XL (EOL/ESR) 100 | - Pixel 4 (EOL/ESR) 101 | validations: 102 | required: true 103 | 104 | - type: dropdown 105 | id: profiles 106 | attributes: 107 | label: Profile app tested in 108 | description: Which user profile(s) was this tested on? 109 | multiple: true 110 | options: 111 | - Owner profile 112 | - Private Space 113 | - Secondary profile(s) 114 | - Work profile (Add details in extra notes below, i.e., device manager app name) 115 | validations: 116 | required: true 117 | 118 | - type: dropdown 119 | id: googleplay 120 | attributes: 121 | label: Google Play installed? 122 | description: Do you have Google Play installed in the profile you tested in? 123 | multiple: false 124 | options: 125 | - Not Installed 126 | - Installed 127 | validations: 128 | required: true 129 | 130 | - type: dropdown 131 | id: store 132 | attributes: 133 | label: Where did you install this app from? 134 | description: Select your banking app installation method. 135 | multiple: false 136 | options: 137 | - Google Play Store 138 | - Aurora Store 139 | - Other (extra notes below) 140 | validations: 141 | required: true 142 | 143 | - type: checkboxes 144 | attributes: 145 | label: Native code debugging 146 | description: | 147 | Was [native code debugging](https://grapheneos.org/usage#banking-apps) enabled or disabled during the testing? 148 | 149 | `Settings` → `Apps` → `App in question` → `Exploit protection` 150 | options: 151 | - label: Allowed 152 | - label: Blocked 153 | 154 | - type: checkboxes 155 | attributes: 156 | label: Exploit protection compatibility mode 157 | description: | 158 | Was per-app [exploit protection compatibility mode](https://grapheneos.org/usage#bugs-uncovered-by-security-features) enabled or disabled during the testing? 159 | 160 | `Settings` → `Apps` → `App in question` → `Exploit protection` 161 | options: 162 | - label: Enabled 163 | - label: Disabled 164 | 165 | - type: checkboxes 166 | attributes: 167 | label: Memory tagging 168 | description: | 169 | Was [memory tagging](https://grapheneos.org/usage#bugs-uncovered-by-security-features) enabled? Only applicable to 8th generation pixels and later. 170 | 171 | `Settings` → `Apps` → `App in question` → `Exploit protection` 172 | options: 173 | - label: Enabled 174 | - label: Disabled 175 | - label: N/A 176 | 177 | - type: checkboxes 178 | attributes: 179 | label: Dynamic code loading via memory 180 | description: | 181 | Was [dynamic code loading](https://grapheneos.org/features#exploit-protection) via memory restricted or allowed? 182 | 183 | `Settings` → `Apps` → `App in question` → `Exploit protection` 184 | options: 185 | - label: Restricted 186 | - label: Allowed 187 | 188 | - type: checkboxes 189 | attributes: 190 | label: Dynamic code loading via storage 191 | description: | 192 | Was [dynamic code loading](https://grapheneos.org/features#exploit-protection) via storage restricted or allowed? 193 | 194 | `Settings` → 'Apps' → 'App in question' 'Exploit protection' 195 | options: 196 | - label: Restricted 197 | - label: Allowed 198 | 199 | - type: checkboxes 200 | attributes: 201 | label: Does the app use the Play Integrity API? 202 | description: | 203 | Does this app use the Play Integrity API? Did you block its usage? You are notified if it does. The setting appears only then. 204 | 205 | `Settings` → `Apps` → `App in question` → `Advanced` 206 | options: 207 | - label: Yeah 208 | - label: Yea, blocked 209 | - label: Nope 210 | 211 | - type: checkboxes 212 | attributes: 213 | label: NFC payments 214 | description: Does this app allow NFC payments? 215 | options: 216 | - label: Works 217 | - label: Works but requires another service 218 | - label: Does not work 219 | - label: N/A (Not supported by app) 220 | - label: Not tested 221 | 222 | - type: textarea 223 | id: description 224 | attributes: 225 | label: Description of the app's functionality 226 | description: | 227 | 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. 228 | 229 | Tip: You can attach images by clicking this area to highlight it and then dragging files in. 230 | validations: 231 | required: true 232 | 233 | - type: textarea 234 | id: extra_notes 235 | attributes: 236 | label: Are there any extra notes you think users should know about? 237 | description: | 238 | Did you do any workarounds other users should know that aren't listed here? 239 | 240 | Tip: You can attach images by clicking this area to highlight it and then dragging files in. 241 | validations: 242 | required: false 243 | 244 | - type: textarea 245 | id: adb_logs 246 | attributes: 247 | label: ADB logcat of the app if necessary 248 | description: | 249 | 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. 250 | 251 | Tip: You can attach images by clicking this area to highlight it and then dragging files in. 252 | render: systemverilog 253 | validations: 254 | required: false 255 | 256 | - type: markdown 257 | attributes: 258 | value: | 259 | Thank you for taking the time to fill out this report. Please keep tabs on it in case we get back to you. 260 | 261 | -------------------------------------------------------------------------------- /.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 which workarounds may be required. 4 | 5 | ## Tablet 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), featuring 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 which [workarounds](https://akc3n.page/posts/banking-app-issues/) may be required for banking apps compatibility with GrapheneOS. 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 | - users should read the [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 [current list ](https://privsec.dev/posts/android/banking-applications-compatibility-with-grapheneos/#international-banking-apps)of working international banking apps compatibility with GrapheneOS. 26 | - See [issue tracker](https://github.com/PrivSec-dev/banking-apps-compat-report/issues) for detailed banking app reports. As well as 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 | 31 | # Workarounds 32 | 33 | See https://discuss.grapheneos.org/d/8330-app-compatibility-with-grapheneos 34 | 35 | --- 36 | 37 | # Notes 38 | 39 | 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). 40 | --------------------------------------------------------------------------------