getsentry / raven-python

Raven is the legacy Python client for Sentry (getsentry.com) — replaced by sentry-python
https://sentry.io
BSD 3-Clause "New" or "Revised" License
1.68k stars 657 forks source link

Support Django's sensitive data decorators #1281

Closed jaap3 closed 4 years ago

jaap3 commented 5 years ago

Django has some decorators that allow developers to annotate functions and methods with information about sensitive variables and post data: https://docs.djangoproject.com/en/2.0/howto/error-reporting/#filtering-error-reports

As far as I can tell the Django client from raven doesn't do anything with this information.

Processors are an alternative solution, but don't support granular control of when to filter something. i.e. key can be a safe var in one function, but highly sensitive in another one.

Is it possible to take these decorators into account? Would it be possible to write a filter that does so? Is it possible to somehow reuse the filter logic in SafeExceptionReporterFilter

I found an old PR (#345) that tries to support sensitive_post_params, but it got abandoned.

I'm willing to work on this, but I'm not familiar with the inner workings of Raven so hopefully someone can provide some guidance before I put some actual effort into this.

untitaker commented 4 years ago

I wanted the same thing and implemented https://github.com/untitaker/python-sensitive-variables instead.

(note: I am the author of the new Python SDK for Sentry but the project I linked above is unaffiliated with sentry)