title: Django: How to keep non-PII from removed users under GDPR
body: <p>I'm using Django to build a B2B SaaS hobby project, where each company (tenant) can have many users and, eventually, remove them.</p>
  
  <p>It's important to keep the reason why a user was removed.</p>
  
  <p>The straightfoward way for this to be solved would be to turn <code>is_active</code> to False and add a <code>reason_for_removal</code> field on the User model. Then make sure <code>is_active</code> is indexed (is it by default in Django?) and all querysets are appropriately filtered.</p>
  
  <p>However, in a GDPR world, is this the right way to do it? Does it make sense to create a separate model called <code>RemovedUser</code> just with the <code>user</code> and <code>reason_for_removal</code> fields (and no other Personal Identifiable Information) and delete the original user instance?</p>