 <p>Maybe an idea which might work for you:</p> <p>To ban a user, create an entry in your database to the user to flag the user as banned with a timestamp NOW + X</p> <pre><code>{ "users" : { "bad_user" : { "banned" : { "until" : 123456 // timestamp NOW + X } } } } </code></pre> <p>Now whenever the user logs in afterwards, you check wether the user is banned and immediately try to delete that entries. If it fails, penalty time is still running. If it succeeds, well then the user can use your app :)</p> <p>The trick is to use firebase rules to restrict possible changes.</p> <p>something like:</p> <pre><code>{ "rules" : { "users" : { "$uid" : { // ... "banned" : { .write : "(!newData &amp;&amp; now &lt; data.child('until').val() )" .... </code></pre> <p>Please note - these are not working rules, but should help to figure it out.</p>