These are solved technical problems though that won't take their programmers long to implement.
Just let the car grab the public keys for associated apps from Tesla's servers with 7 days expiration every day, and it will know how to authenticate your phone without internet as long as car has been online within the last 7 days. Also let the servers revoke public keys in case permissions change.
With the phone do something similar, use a refresh token with 3 months of validity. Warn the user a week before it expires to sign in again. Refresh token used to get standard tokens with 7 days validity every day.
Car challenges the phone over bluetooth, app send back up to 7 signatures, car accepts them.
Works offline any day, robust. I could write this code for the back-end, app and MCU in about a week, plus 3-4 weeks to make it production ready
. Alone. So it's not so tricky.
Bonus features: User could add new keys in the Tesla app, or use personal app as key on rentals at Tesla service.