I’m of the opinion that implementation details should follow from well thought out first principles - not the other way around.
“I can do X, and that will protect this type of freedom”
is inferior to,
“Freedom of the people looks like this, so I will model my software after that.”