CRUD - Chase Reducing User Data - Part 1
Written on: 2020-Jan-08 20:15:00

Intro

The beginning of a brand new year is upon us and people everywhere are exclaiming:

New year new me!

For others, such as myself, all this means is new problems (or basically old ones rehashed as new ones). In my case, and the inspiration for this blog, I’d like to plug up financial leaks as I want to see where exactly my money is going. Needless to say, I was pretty shocked when I logged onto my Chase Sapphire Reserve account and noticed I had spent quite a significant amount on ONE category of transactions.

Coming from a crypto perspective, I said to myself:

Well, I guess it’s time to do a recon (Fuck you Pablo) on my finances. LFG!

Just like in poker, I like to plug any leaks and this one particular category would be equivalent to a water main line leaking water in Hoboken during the summer. So like any smart consumer, I decided to download the year’s worth of transactions and see WTF actually happened.

The problem

After logging on, you are redirected to your list of accounts and can clearly see the breakdown in pie form:

Pie Chart

Certain information has been redacted, but the reason I left the 2019 Year-End summary in the upper left hand corner is to show that Chase is able to display the information for the entire year.

Operative word being display.

The GUI tool itself is actually quite good if you were looking at a limited time window. Of course, limited means different things for different people. One year’s worth of transactions for me is a limited subset of relevant data I should be able to gather. After all, this is not a time series database. I’m swiping my card 10 times per day, max. If I did this, it would mean that I would expect 3650 entries. The portal shows the following for 2019:

Transactions

The portal is already displaying ~4.5% of my total transactions so in theory it should not be a problem to grab the rest of them. Here is what happens when I attempt to download the entire list:

Filter

Result

Dude … wtf …

This may require a human

It was at this time when I decided to call Chase customer support. I actually went in hopeful since Chase Sapphire Reserve requires an annual fee of $450 to participate in the program. Hold time was short and I was met with a friendly rep. I stated that I had run into a problem with the Spending report and that all I needed was a CSV with the entire list of transactions for the previous year. Simple enough right?

Wrong

The representative told me that since this feature was moved to “self service”, they would not be able to assist me. I repeated that I understood it was self service but what could I do if the tool provided limited my transactions? The representative apologized but said I should download the transactions in “segments”. I understood what they meant. Use the tool to split up the transactions and comply with the “limit” set by the web app(Yet another post on much I fucking hate web apps). This is fine, if you have a small amount of transactions. However, there is no indication on the webapp what the limit actually IS. Therefore, there is no way to maximize the set returned by the web app. What tilts me even further is that all my transactions are visible but not tangible.

I immediately asked to be escalated to a supervisor. This particular person was even LESS helpful. I specifically asked her what recourse I had and she said:

There is nothing else we can do.

At this point I am livid. I have a small set of transactions as evidenced earlier in the post and I am not able to return the entire data set. Imagine if I were a business user and had tens of thousands of transactions. What would I do? After some threatening to subpoena the phone call (of which I WILL get and post in a future update), there was nothing else I could do, I was instructed to log a complaint against Chase. The address contains a mail stop. There is no way to actually speak with someone on any tech team.

Help me, Twitter. You’re my only hope.

In tandem, I realized my last line of hope was mentioning @ChaseSupport on Twitter. These are the tweets that occurred:

Original Tweet

Turns out that even if you attempt to grab your transactions programatically, you are limited to 90 days. Now why would Chase do this? An argument can be made that storing transactions for a limited amount of time is a security/cost prevention measure. However, this is a moot point as I was able to perform this simple operation on two other competitors’ sites. I have no qualms about listing them:

So besides complaining and wishing for a solution what can I do?

Take back your transactions

Most people will simply not care. My buddies seem to think I like to shit on everything for no reason, but there are plenty of good arguments why you should be able to easily perform reconciliation:

  1. If you are involved in a transaction, you are a participating party. You should be able to get those details.
  2. You are paying for a service. You should expect an easy interface to query.
  3. You are generating data, of which most likely your bank is selling despite anonymizing it.

Point #3 is of special concern to me as privacy clauses are not black and white. This incident has woken me up to actually read the the fine print. I will do it so you won’t have to.

In any case, this is the start of a technical series. In the following days, I will show you how you can retrieve your transactions via OFX connectivity (same as what Quicken uses), so you do not have to be reliant on banks to provide this data. For people familiar with cryptocurrency this may seem trivial. The wallets themselves provide an easy audit trail. The reason for this because you OWN the data, the collateral, and the software. It’s time to take some control back.

Prev: To My Friend
Next: End of the line ...