I disagree about federation and encryption. Any platform which is centralized or not encrypted will inevitably be co-opted by fascists and capitalists. Antifascism and anticapitalism should be primary design goals for all software projects regardless of whether or not the masses care.
I think you're spot on with everything else. It's possible to meet those goals while providing the features and UX people want. We don't have to choose between safety and convenience.