Depressing, but thanks. One pain point: those of us who work for large 
organizations that have outsourced email to Google. Trying to get the admins of 
a large organization to approve something non-standard is, umm, painful…

On 9 Apr 2025, at 9:04, Benny Kjær Nielsen wrote:

> **Note:** This email is important for all Gmail users. You should read (the 
> last part of) it before May 7, 2025.
>
> ---
>
> Hi MailMate users,
>
> as some of you might remember, MailMate went through a CASA tier 2 assessment 
> last year in order to be able to continue to use OAuth authentication with 
> Gmail accounts. It was no secret that this was going to be a yearly task 
> going forward, but this year it comes with a twist: It's no longer free.
>
> For my general thoughts on the subject, I strongly recommend my previous 
> email on the subject (the one I've replied to here). Here's a direct [link to 
> the 
> archive](https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freron.com_mailmate_2024-2DJune_017271.html&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=IoK0TtU5pHVWDF1T_TfxC1UV7I0ko0KpjotekXCwL2c&e=
>  ).
>
> The most important part of this email is the last part. Skip ahead to 
> “**Gmail support in the future**” if you are short on time. The rest is just 
> me ranting in an attempt to collect my thoughts on the subject.
>
> ---
> ### Pricing
>
> The assessment has to be done by a [CASA authorized 
> lab](https://urldefense.proofpoint.com/v2/url?u=https-3A__appdefensealliance.dev_casa_casa-2Dassessors&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=tkwEw3Uhg9Knl4yawfnKxpngv0PmLvike1FllpP-c3U&e=
>  ) (most of them do not advertise pricing). Google does have a preferred 
> partner for which they have negotiated a discount. As they write to me: 
> “While this means that you will incur a small cost, paid to an independent 
> assessor, we’ve worked hard to make sure this doesn’t pose an undue burden.”
>
> This discounted pricing is publicly available 
> [here](https://urldefense.proofpoint.com/v2/url?u=https-3A__casa.tacsecurity.com_site_home&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=lg-TkZWNvnIhv69QQA91RhjPoVRFZ4SMdRsypCBEp7U&e=
>  ). At the time of writing pricing is between $540 and $1800 (without the 
> discount it's between $1800 and $6300). I *think* at the highest price point 
> it means that you pay for being recertified once a year *forever*, but 
> business-wise that doesn't make much sense to me.
>
> Given that MailMate is at a crossroads where I'm waiting to see how the [new 
> pricing 
> model](https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.freron.com_2024_new-2Dlicense-2Dkey-2Dsystem_&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=vz8bwCqBEhuOKR4MaNVS_lOxqcIpzFplyqKxC3OjL10&e=
>  ) works out, I *do* mind the requirement for paying for recertifications, 
> but my main issue with CASA tier 2 for a desktop email client is that I don't 
> think it provides users with anything of real value. On the contrary, I think 
> it provides users with a false sense of security -- and I end up spending 
> both money and valuable time on this every year instead of actually working 
> on improving MailMate.
>
> ---
> ### Assessment/Certification
>
> I wrote about what this actually means in the email from [last 
> year](https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freron.com_mailmate_2024-2DJune_017271.html&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=IoK0TtU5pHVWDF1T_TfxC1UV7I0ko0KpjotekXCwL2c&e=
>  ), but I would like to emphasize the following point.
>
> There’s no way of knowing if MailMate will pass the assessment this year or 
> in future years -- and it might not really be possible to do anything about 
> it. MailMate is a very complex application with a lot of third party 
> dependencies. For example, it might be decided that MailMate is using a 
> framework which is no longer considered sufficiently secure for Gmail access, 
> but it’s needed to support older macOS releases. They might decide that one 
> cannot use any programming languages for which there does not exist a code 
> scanner which can find vulnerabilities. Also, the process includes a 
> self-scan of the source code, but the method used for this last year seems to 
> be 
> [deprecated](https://urldefense.proofpoint.com/v2/url?u=https-3A__appdefensealliance.dev_casa_tier-2D2_tooling-2Dmatrix&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=NLM-s9-a5AWBVYiPpmMNhOtckJlkDFnsU2rn7NNHR3w&e=
>  ) now. There might not exist a way to do this which does not require 
> providing some company with access to all source code of MailMate. I'm not 
> sure I'm willing to do that although I guess that would also mean that Apple, 
> Microsoft, and every other email client developer out there would have to do 
> the same thing.
>
> Note that I'm not saying code scanning is bad. You are welcome to recommend 
> the use of any tool you think would be useful in my build process. As 
> required by Apple, MailMate uses a [hardened 
> runtime](https://urldefense.proofpoint.com/v2/url?u=https-3A__developer.apple.com_documentation_security_hardened-2Druntime-3Flanguage-3Dobjc&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=0SFbUrHTEy8bNGCv16zlI3aOyDyGT2d1-G8VVTDtG8g&e=
>  ). While developing I use an [address 
> sanitizer](https://urldefense.proofpoint.com/v2/url?u=https-3A__clang.llvm.org_docs_AddressSanitizer.html&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=cfs644cp2mEFaD3O4HfCMgmZ-ZzgZ1T9ibFI7PwUYSE&e=
>  ) and [library 
> hardening](https://urldefense.proofpoint.com/v2/url?u=https-3A__developer.apple.com_xcode_cpp_-23library-2Dhardening&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=5w4ULJUFsPGa7216GvppcvKYNptJi_h2a1o2nx1XZQE&e=
>  ). Recently, I also enabled the latter in its “fast” mode for test builds.
>
> ---
> ### Trust
>
> I could write a lot about the current CASA assessment being mostly irrelevant 
> for a desktop email client, but this is not my primary critique CASA. In 
> theory the assessment could be a really good process and the source code 
> scanners might actually be able to find issues in MailMate code, but this 
> does not mean that a user should put more *trust* into a verified app than a 
> non-verified app when authenticating via OAuth. This is because the 
> assessment is entirely done in “good faith”. The developer can lie through 
> the whole thing and all you really know when an app is verified is that the 
> developer paid for it.
>
> Would this be better if the developer was not allowed to self-assess it? No, 
> even if sending the source code elsewhere for assessment, the developer would 
> still be in control of the source code sent.
>
> In any case, the assessment provides no protection against any issues 
> introduced *after* the assessment, that is, the entire source code could be 
> replaced and it would have no effect on the verification status (until the 
> next assessment).
>
> By contrast, the hardening required by Apple is verified for every 
> upload/release of MailMate. This is a real safety measure not based on “good 
> faith”.
>
> ---
> ### OAuth
>
> It's also useful to return to what we are really trying to do here. The 
> problem with the old authentication methods for IMAP/SMTP was that they were 
> mostly username/password based. If someone stole/guessed your password then 
> your account could be misused from anywhere. The OAuth method is more 
> flexible and it allows the introduction of 2FA making access to your account 
> much safer. The email client never knows your password, but it does get a 
> refresh token instead. If this is stolen then you have the same problem as 
> before unless the refresh token is often updated (only Fastmail does this in 
> the implementations I have seen). Using OAuth to be able to use 2FA is a 
> great idea. No complaints from me. Note that a general standardization of the 
> use of OAuth for desktop apps (native clients) is a 
> [work-in-progress](https://urldefense.proofpoint.com/v2/url?u=https-3A__datatracker.ietf.org_doc_html_draft-2Dietf-2Dmailmaint-2Doauth-2Dpublic&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=2MN2KxIDgPgqitXM9sdyfVxcgboHTQbNOEdnID2opLM&e=
>  ). This might bring OAuth to more IMAP server implementations.
>
> In theory, the OAuth process also allows the email provider to control which 
> email clients have access to the account and that might sound great, but it 
> doesn't really work in practice. For example, if a MailMate refresh token was 
> stolen then it can be used by any other app/script because the refresh token 
> is not effectively limited to be used by MailMate. This is because any 
> app/script can pretend to be MailMate. This also means that some malware 
> app/script can be named MailMate and if the user doesn't know any better then 
> they might accept providing access to this app/script when Google asks them. 
> In this situation, Google might detect the problem and revoke MailMate access 
> which would then affect all real MailMate users as well. One might be tempted 
> to think that this is a broken feature of OAuth when used with a desktop 
> app...
>
> Essentially, the only way to really block an app/script from accessing a 
> Gmail account via IMAP/SMTP is to block *all* apps/scripts from access.
>
> ---
> ### Deadline
>
> Google has provided me with a deadline, May 7, 2025, but I've asked for a 
> postponement on the grounds that I'm still working on the public release of 
> MailMate 2.0. For transparency, I've also told them that it's likely that I 
> won't go through the assessment again even if I do get this postponement. I'm 
> sure a lot of users will ask me why I don't just pay up, but I'm simply tired 
> of spending time on considering what Google might or might not require of me 
> in the future. Apple is doing just fine in that regard. I've literally spent 
> months on making Gmail work in MailMate, because it's very far from being a 
> standard IMAP implementation. The workarounds required were ridiculously 
> complicated (and it's probably still not perfect). I guess you can say I'm 
> tired of working for Google for free and I really do not want to start paying 
> them (or their assessment company friends) to have the privilege, every year, 
> to get their security theater badge.
>
> ---
> ### Gmail support in the future
>
> Ok, no more ranting. What does this mean for Gmail support in the immediate 
> future? Well, maybe not much if I understand the inner workings of Google 
> authentication correctly.
>
> I've written a new server page describing various [account 
> configuration](https://urldefense.proofpoint.com/v2/url?u=http-3A__freron.com_account-5Fconfiguration_&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=-Ss_XRv5nofCWJ11FhaZDc1cm3AplyphRWo9bs2XrN8&e=
>  ) issues. Here is the current part on workarounds if MailMate is no longer a 
> Google verified app:
>
> * Simple solution (OAuth-based): Google Workspace (aka G Suite aka Google 
> Apps) users should be able to have the admin of the account explicitly allow 
> MailMate. This should mean that OAuth still works for the account.
> * Simple solution (password-based): Free `@gmail.com` accounts do not have 
> settings allowing the user to explicitly allow MailMate. Instead, you need an 
> app specific password. This option is very well hidden though, but here is a 
> [direct 
> link](https://urldefense.proofpoint.com/v2/url?u=https-3A__myaccount.google.com_apppasswords&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=Spx1rCmQvKkuWd1_t57rxlong2hb9fbCpoSNQC4ufks&e=
>  ). Note that this [requires 
> 2SV](https://urldefense.proofpoint.com/v2/url?u=https-3A__support.google.com_accounts_answer_185833&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=u4lq8B5zxDIck_xcyzCQtALL3gEkytuMmB0B0giccYM&e=
>  ) to be enabled for the account.
> * Advanced solution (OAuth-based): It's also possible to make your own [app 
> registration](https://urldefense.proofpoint.com/v2/url?u=https-3A__developers.google.com_identity_protocols_oauth2_native-2Dapp&d=DwIFaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=R9xkpzX5ufyVL5rErGG7NsTkiic5LiMiamArLzLWzuU&e=
>  ) with Google and then use these credentials with MailMate using the 
> `MmGmailOAuth2ClientID` and `MmGmailOAuth2ClientSecret` hidden preference 
> values.
>
> There's a fourth solution described on the website, but I'd prefer if that 
> one was not used and I'm leaving it out here.
>
> I've been using Gmail recently with an app specific password without any 
> issues. I'm interested in knowing if the first solution above works for 
> Google Workspace users. Well, I'm interested in knowing if an admin can find 
> this setting. It would also be interesting to know if app passwords are 
> allowed for Google Workspace users.
>
> -- 
> Benny
> _______________________________________________
> mailmate mailing list
> Unsubscribe: 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freron.com_listinfo_mailmate&d=DwIGaQ&c=009klHSCxuh5AI1vNQzSO0KGjl4nbi2Q0M1QLJX9BeE&r=jMObdJSnQpbSLekl2NjvrJVVxCKbmtg8cvi5143NF8Q&m=U4t89-PLDVt-lWWjDJtXriMP1Lx7EM0w8g9I_8vMZolL9GbizFWN0knguHjXBQej&s=qktrjyWyYg_QBE6BZ3HmQzM3EKbLu988QmT6wL4W3Pg&e=


        --Steve Bellovin, https://www.cs.columbia.edu/~smb
_______________________________________________
mailmate mailing list
Unsubscribe: https://lists.freron.com/listinfo/mailmate

Reply via email to