Using the ID can allow people to get a very good sense of how many users are on the system and the amount of contacts. It also is information leakage because I know all the URLs for every contact.
I think using a hashid based on the contact id, the user creating it and maybe another factor would work great.
I forgot to post a follow up on this thread. I'd like to thank @girish for solving my problem. He responded quickly and arranged to ssh into my server to diagnose. He's been very patient and professional and I really appreciate it.
Basically the problem is due to MySQL addons not properly starting/building, so all apps using MySQL error out and cannot start or install. Hope the problem has been resolved in the final 2.4 releases 🙂