Skip to content

Security

django-clearance decides who reaches what. A way round it - a row shown to somebody it should not reach, a field read without its permission, somebody giving themselves access - is a security problem, and is treated as one.

Reporting one

Report it privately, not in a public issue. On GitHub, open the repository's Security tab and choose Report a vulnerability. The report is seen only by the maintainers until a fix is out.

Say what you can of:

  • what a person can do that they should not - and who that person is: signed in, holding what;
  • the steps, or a test that shows it;
  • the versions of the library, Django, Python and - if it is involved - DRF.

What happens next

The problem is reproduced and fixed in a release, with a test that holds it, and the changelog says what was fixed.

Supported versions

Fixes go into the latest release. The library is young - alpha, 0.x - so upgrading to the latest release is the way to receive one.

Already held

The safety rules, the denied-by-default behaviour and the checks of each door are held by the library's own tests - every way round that a review found has a test named after it. The design lists what each rule protects against.