The farce of Nissan(Connect) of North America (updated)

September 2022 · 3 minute read

Time for an update on My Leaf and its North American users! As apparent from the title of this blog post this post is a sort of telling of the farce that is Nissan of North America and their crusade against third party clients. Again and again have Nissan tried to break third party clients these last months. They have used time and effort on breaking stuff on purpose. No new features are the cause of this. The only ones who suffer from these changes are purely Nissan’s own customers. Simply put. On February 10th Nissan North America released yet another version of their NissanConnect app. Version 7.3.4.

A little overview (covered in more detail in my previous posts);

  • Prior to 7.3.0 - Use of hardcoded API key used for API-Key HTTP header replaced by generating it at runtime using some static values. First directly in Java, later using a native static C library and Java’s JNDI.
  • Prior to 7.3.1 - The infamous User-Agent-Key HTTP header was introduced and was generated at runtime using the app’s own packaged package signatures.
  • 7.3.1 - Introduced use of Firebase Remote Config to store their “secrets” (specifically their User-Agent-Key HTTP header)
  • 7.3.4 - Introduced use of Firebase Real-Time Database to store their “secrets”. On top of that Google’s SafetyNet is now used to secure against “device tampering”.

My Leaf supports the 7.3.1 way of getting secrets. The new 7.3.4 is not supported. It is apparent that Nissan of North America (or the company responsible for their app) are doing everything in their power to break My Leaf, others clients and integrations. NOTHING new in terms of features are included in these releases. Their customers gain NOTHING.

Someone (at Nissan?) seriously uses time and effort to HINDER and DESTROY open source projects that actually add VALUE to Nissan’s customers. It’s appalling really.

It’s almost comical they way some of this stuff has been implemented in the official app. There are tidbits in the offical app source code that tell us most of the actual implementations are based on mostly tutorials from Firebase’s available documentation.

I have sadly taken the decision to discontinue support for the North American API. This includes My Leaf and the dartnissanconnectna library which My Leaf uses. I simply won’t support it any longer because of Nissan of North America’s persistant work on blocking third party clients. I continued to try and support the API during the last 12 months. Playing cat and mouse with Nissan. I simply don’t have the time and honestly the drive to continue when I know Nissan are consistently trying to break third party clients on purpose. It’s a sad and foolishness reality indeed.

I am very sorry to discontinue support and I feel like I’ve let down the community in some sense.

I think only the customers can actually change Nissan’s stance against third party clients like My Leaf. It is not only My Leaf that suffers but also all other projects using my dartnissanconnectna library or any derived work. If enough customers voice their frustrations regarding third party clients maybe Nissan will answer? Who knows? Open Source software is the way forward and customers should be able to choose which software they use in what way they desire.

I encourage users and customers to write nissanownerservices@nissan-usa.com with their discontent!

If enough people voice their frustrations regarding third party clients being blocked I guess Nissan has to react in some sense.

Please share this message with your communities!

Thanks!

That’s all for now; if you have any questions or request please comment or send me an email!