I would love a native Mac app to auto-import transactions from my bank

Sorry, but I'm never typing my bank password into any website that isn't my bank. That's one of the reasons I stopped using Mint! But especially with how slow the web client is, I'd really like to be able to automatically import transactions. If we can't have a full native desktop client, I'd be much more comfortable with running an app on my computer that downloaded transactions from my bank and sent them to YNAB than giving strangers the password to my bank accounts!

11replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Hey  devin c , thanks for voicing your desire for a native desktop client! It's something we've been dreaming about for some time, so it's on our radar. I'll add a +1 for you there!

    If it's any comfort to you, we encrypt those credentials when they're at rest, so we have no way of knowing any of it. If you're interested in learning more about our security measures, we have some thrilling reading material for you! :)

    Here are some highlights from our security policy:

    • All connections are encrypted and data is encrypted at rest.
    • We underwent a security audit and a database audit from one of the top consulting firms. This is done on an annual basis.
    • Our password policy does not allow the top 1,000 passwords. By not allowing common passwords, we prevent customers from putting themselves at risk.
    • To that end, we don’t store passwords. We do mathematical stuff to customer passwords so if the passwords do ever fall into the wrong hands, they still aren’t decipherable.
    • We’re built on the same infrastructure as the CIA’s internal cloud service.
    Like
      • Cyan Sun
      • Cyan_Sun
      • 2 yrs ago
      • 1
      • Reported - view

      Dan at YNAB Hey Dan, I'm pretty sure you are misrepresenting your security policy here.

      1) Data encrypted at rest just means that if someone gets ahold of the hard drive, they can't just start reading the data off of it. YNAB has the keys to read that data and I'm sure it's completely transparent to all YNAB processes.

      2) There is no way that you could be doing "mathematical stuff" to customers' *bank* creds so that they "aren't decipherable". That would mean that *you* could not ever decipher the creds to do an import. 

      Your security policy only talks about what you do with customer's passwords *to login to YNAB*. Those are the only passwords that you can hash etc because you can repeat that same process on login and then compare the hashes.

      What you could be doing with banks is using a protocol such as OAuth, which enables a user to authenticate themselves with the bank and tell the bank that YNAB is authorized to read their data without requiring that YNAB store the user's creds for that bank.

      I have no idea if any banks support protocols like as OAuth for this purpose, but this is the only way that you could do imports without storing a customers' bank creds. 

      ----

      All of that said, personally, I'm still up for sharing my creds with YNAB! Auto-import is very convenient and it seems like you have reasonable security processes in place.

      Like 1
  • And since this isn't quite a bug, I'm going to move this conversation over to our App Functions channel! 

    Like
  • devin c said:
    Sorry, but I'm never typing my bank password into any website that isn't my bank. That's one of the reasons I stopped using Mint! But especially with how slow the web client is, I'd really like to be able to automatically import transactions. If we can't have a full native desktop client, I'd be much more comfortable with running an app on my computer that downloaded transactions from my bank and sent them to YNAB than giving strangers the password to my bank accounts!

     I'm with devin c  on all counts here.

    I am finding the web version unwieldy but there is NO WAY I'm using my elderly iPad mini and my phone (android) is too small for me to use for anything other than phone calls and maybe texting.

    I want a desktop macOS app, like Y4 was/is but I'm facing the probability of Apple making a future OS upgrade incompatible with my darling Y4 app in the not too distant future.

    Like 1
  • Before the switch to new YNAB, the previous version (YNAB 4) had a native Mac app. I liked it.

    You say you'd never type your password into a website that isn't your bank -- but why, exactly, is it somehow more safe to type it into a native MacOS app than into a Web (browser-based) app? Serious question.

    I'm not a security expert, so I can't speak to many specifics. But I am a software user experience designer so I do have some general familiarity with how data flows between systems.

    My belief is that -- when it comes to storing & transmitting your bank login -- there isn't much difference between the level of security provided by a native app versus a Web app. The username & password has to be transmitted via the Internet in either case, and that's where the greatest security risk lies. I'm quite willing to be corrected if I'm wrong about this.

    I'm eager to learn more. Who are the 'strangers' you're giving your password to, if you use a web app versus a native app? Are there different parties involved because of the different technology?

    In regard to performance, I was sad to see the switch to a browser-based app. I liked the UI performance and native 'feel' of YNAB4 on my Macbook. But I have to say after using new YNAB for some time, I'm fine with it. There have been steady improvements to performance and the overall user experience. I find I get the same value from the new version of YNAB as I did from the old one. So at the end of the day, it's kind of a 'six of one, half a dozen of the other' situation for me.

    Like
      • devin c
      • Orange_Gazelle_6b11cbd1
      • 2 yrs ago
      • 1
      • Reported - view

      Ben Judy If I send my password to my bank, the only party I have to trust is my bank, and I sort of *have* to trust them! (This is assuming they use HTTPS/SSL, which almost everyone does these days, and definitely all banks do.) If I send my password to YNAB, I have to trust YNAB and their servers to keep my password safe as well. They may keep it encrypted when it's stored on their servers, but they have to have some way to decrypt it to communicate with my bank, or else the import function wouldn't work!

       

      The bottom line is, if youneedabudget.com has the ability to sign in to my banking accounts, I have to trust them to keep that ability safe, and I'd rather not do that. If an app on my computer has that ability, I just have to trust myself to keep my computer safe (admittedly, not ideal!).

      Like 1
      • Cyan Sun
      • Cyan_Sun
      • 2 yrs ago
      • Reported - view

      devin c to Ben Judy 's point,   this is really just a question of degrees of trust. If YNAB has a native app and says that they don't store your bank creds on their server, you would have to trust that they were telling the truth.

      I would assume that even with a native app, they would still connect to banks via their cloud, because this would be much easier than having to troubleshoot an end user's direct connection to a bank. This means that their servers would be storing your creds *at least temporarily* while connecting to the bank, and then you would be trusting their servers to delete the creds afterwards. 

      If a hacker gained access to their systems, the hacker could modify your desktop software so that it sends off the bank creds to wherever it pleases. Or the hacker could modify the cloud process so that it stores your creds instead of deleting them after each import session.

      Like
  • While it doesn't solve the devin c 's security needs, I use Fluid on the Mac to run YNAB as a separate 'app' and it works well enough for my purposes.

    Like
  • Cyan Sun said:
    I would assume that even with a native app, they would still connect to banks via their cloud, because this would be much easier than having to troubleshoot an end user's direct connection to a bank.

    Yeah, this is exactly it. Someone's written software that can take a username and password and use it to get structured data about transactions out of a bunch of banks. I'd love to run that code on my computer; I'm much less interested in delegating this to a random third party to a third party on the cheapest cloud hosting they could find. I know this is a forlorn hope in this age of the Cloud but it's something I'd really appreciate!

    Like 1
  • I’m totally onboard with devin c  - I use KeePass vs Lastpass (eg.) for this reason, and also choose not to automatically link to banks or share my passwords (ever).

    This is largely because I have more confidence that “a hacker” is less interested in targeting me (even with a specific set of apps) than a million+ Cloud accounts, simply due to scale of return. I also accept responsibility for local system/software updates and related diligence..

    Until the auth to each bank is clearly stated WITH LINKS TO THE BANKS DOCUMENTS ON SECURITY CONSIDERATIONS, any password-based auth strategies should minimally allow secondary on-access secrets..

    Like
  • Not to mention there is no support for multi-factor authentication (MFA).

    Like
Like3 Follow
  • Status Answered
  • 3 Likes
  • 2 yrs agoLast active
  • 11Replies
  • 1404Views
  • 6 Following