I disagree about using the middleware for this. The information whether a user is logged in or not is only available within the context of django. I feel that the middleware's job is to extract the data from the implementation classes and wrap it up as JSON and that's it. No more no less. 

To help us bikeshed this, the "scrubbing" is two things:

* literally scrubbing. ie. change a string of text to another. for example "My email address is foo@bar.com"  to "My email address is fo...om"
* entirely remove certain columns. Or blank them entirely. for example `{"signature": "xxx", "email": "foo@bar.com"}` becomes `{"signature": "xxx", "email": null}` or `{"signature": "xxx"}`

The way I think I'd like to see it is a "third-party" module where when invoked, you have to know a little bit about what you want it to scrub or remove. For example:

```
from crashstats.scrubber import scrubdata, EMAIL, URL
...
    data = somemodel.get(**kwargs)
    data = scrubdata(
        data, 
        remove_dict_keys=['email', 'url'],
        clean_fields=[('comment', EMAIL), ('comment', URL)]
    )
    return http.HttpResponse(json.dumps(data), ...)
```