Anonimizar parece uma ação nuclear. Eles não poderão voltar a entrar e se reconectar com seus dados. Eu pensaria que você talvez queira o dinheiro deles novamente no futuro.
Você poderia lidar com isso usando o sistema interno de confiança do Discourse? Devolva-os ao nível de confiança 0 (TL0) e mantenha-os nesse nível até que restabeleçam sua assinatura? Acredito que existam algumas opções de estilo CSS disponíveis para as informações de nome de usuário de usuários no TL0, ou pelo menos para a associação padrão ao grupo.
Você também, obviamente, gostaria de restringir suas categorias de conteúdo para usuários com nível de confiança 1 ou superior (TL1+).
Já vi sites suspenderem contas para lidar com membros expirados. Dessa forma, se o usuário reiniciar sua assinatura, você só precisa des suspender a conta.
Outra abordagem comum é simplesmente remover o usuário de um grupo personalizado chamado ‘membros’ quando a assinatura expirar. Se você usar a associação ao grupo ‘membros’ para controlar o acesso à maioria das categorias do seu site, remover o usuário desse grupo limitará o acesso dele ao fórum. Readicione o usuário ao grupo ‘membros’ quando ele reiniciar a assinatura.