Cayman isn't really a tax dodge. I've structured a few hedge funds in the Cayman Islands, and FATCA/CRS regime to which it strictly adheres prevents it from being one. Companies set up foreign financial entities in Cayman Islands because it's a tightly regulated financial center with well known laws, and because foreign investors want it because it's perceived (particularly by Chinese investors) as a safe haven. If those investors invested directly through US entities, they still would not be taxed. What's also likelier here is that they were trying to avoid the US banking system so that funds could not be seized (so much for that).
I can't see the article since it's paywalled, but the bank would have required that a certain amount of funds remain on deposit for the borrower to get the terms. I've seen and facilitated an SVB loan agreement for a startup, and I can tell you that's exactly what it says. So the bank required you to park your money there, and then it lost the funds. In any normal business context, the money lost would come off of the balance owed. It sounds like the loan was received from one entity, but the deposits were placed with another, and none of the parties contemplated a bank collapse that would require the bank to forfeit a portion of the owed amount.
This is the CEO's responsibility, but if he won't make a decision, you need to be the CEO here. What's best for the company? Does having him as CTO increase or decrease the likelihood you get to the next milestone? Does it enhance or degrade the team narrative? This is important for raising money if you plan to or attracting new talent. (It would also mean you would need to fire him to hire a real CTO if that need arises). If him as CTO hurts the team, the decision is that he can't be CTO. But, you should dig into why he wants this beyond vanity, because there may be other ways of making him happy. (For instance, when two founders are deciding on who's the CEO, oftentimes the one who is not the COO will be made "President". It doesn't really matter, but it makes people feel better).
Hi - We're an analytics solution for a specific vertical, so this is probably not appropriate for everyone but - what we did was create partitioned data tables that are named using a hash of the user UUID and other context to create the partition table name upon provisioning data tables for the user. The parent table is never accessed directly. We're using Supabase, but we don't use Supabase's libraries to operate this.