Don't expose primary keys to the public. Create separate external ids instead. I personally use BIGINT primary keys, with UUIDv4 external ids, but any random string will do.
I'm also going down this rabbit hole, and it's about to get even crazier with multi-tenant SQLite[1] and Beamer[2] replication. It's not quite ready yet, but the foundation is there.
https://docs.ruby-lang.org/en/master/