Executando verificação de segurança...
2

Primeiramente, parabéns pelo projeto! É exatamente esse tipo de iniciativa em buscar desafios diferentes e novas formas de pensar que te diferenciam!

Vou apenas te dar pequenas sugestões que podem te ajudar a melhorar um pouco o codigo, nesse trecho abaixo, você pode simplesmente omitir o .equals(true) já que o if já está recebendo um metodo que retorna um boolean, nesses casos o if apenas considera se o retorno do metodo é true:

if(user.getFeatures().getCreate_content().equals(true)) {
    ///
}

// Sugestão:
if(user.getFeatures().getCreate_content()) {
    ///
}

Uma outra opção que gosto de usar nesses cenarios é quebrar essas pequenas condições em métodos, pois isso facilita a reutilização e a criação de testes unitários, pode ocorrer de você ter que usar essa verificação do usuario poder criar conteudo em mais de uma classe para situações diversas, ter isso centralizado num metodo facilita e evita a reescrita de codigo:

// Sugestão:
if(isUserWithCreateContentPermission(user) {
    ///
}

private boolean isUserWithCreateContentPermission(User user) {
    return user.getFeatures().getCreate_content();
}