authz.lock: full-stack-fastapi-template@cb740b6: pr-benign-pagination

Verdict: PASS · 0 new invariant violations · 0 widened cells · 0 changed cells

probes603
probe time (s)49.7
coverage20/22 operations
never green (unprobed)POST /password-recovery-html-content/{email}, POST /reset-password/
harnessvalid
appfull-stack-fastapi-template@cb740b6
expectedPASS
whatBenign: default page size 100 -> 50

Identity × operation

PASS = no invariant violation in any probe of that pair; FAIL = at least one new violation; CHANGED = widened vs base without a violation. Letters: A=ALLOW D=DENY I=INCONCLUSIVE probe counts. Expand a cell for per-probe evidence (status, leaked canary owners, DB row changes with owner attribution); request/response bodies are not stored in the lock, and tokens/passwords are redacted.

operationalg_noneanonymousdeleted_userexpiredforged_siginactivesuperuseruser_auser_b
DELETE /items/{id}
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
superuserbaseDENY 401--None
user_abaseDENY 401--None
user_bbaseDENY 401--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 404--None
user_abaseDENY 404--None
user_bbaseDENY 404--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
superuserbaseDENY 400--None
user_abaseDENY 400--None
user_bbaseDENY 400--None
PASS A3 D1
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseALLOW 200-delete:item:selfNone
user_abaseALLOW 200-delete:item:user_aNone
user_bbaseALLOW 200-delete:item:user_bNone
PASS A1 D3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 403--None
user_abaseALLOW 200-delete:item:selfNone
user_bbaseDENY 403--None
PASS A1 D3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseALLOW 200-delete:item:selfNone
DELETE /users/me
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-delete:item:self, delete:item:self, delete:item:self, delete:item:self, delete:item:self, delete:item:self, delete:item:self, delete:user:selfNone
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-delete:item:self, delete:item:self, delete:item:self, delete:user:selfNone
DELETE /users/{user_id}
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
superuserbaseDENY 401--None
user_abaseDENY 401--None
user_bbaseDENY 401--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 404--None
user_abaseDENY 404--None
user_bbaseDENY 404--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
superuserbaseDENY 400--None
user_abaseDENY 400--None
user_bbaseDENY 400--None
PASS A2 D2
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 403--None
user_abaseALLOW 200-delete:item:user_a, delete:item:user_a, delete:item:user_a, delete:item:user_a, delete:item:user_a, delete:item:user_a, delete:item:user_a, delete:user:user_aNone
user_bbaseALLOW 200-delete:item:user_b, delete:item:user_b, delete:item:user_b, delete:user:user_bNone
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
GET /items/
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200inactive, self, user_a, user_b-14
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-7
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-3
GET /items/{id}
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
superuserbaseDENY 401--None
user_abaseDENY 401--None
user_bbaseDENY 401--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 404--None
user_abaseDENY 404--None
user_bbaseDENY 404--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
superuserbaseDENY 400--None
user_abaseDENY 400--None
user_bbaseDENY 400--None
PASS A3 D1
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseALLOW 200self-None
user_abaseALLOW 200user_a-None
user_bbaseALLOW 200user_b-None
PASS A1 D3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 403--None
user_abaseALLOW 200self-None
user_bbaseDENY 403--None
PASS A1 D3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseALLOW 200self-None
GET /users/
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200inactive, self, user_a, user_b-4
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
GET /users/me
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-None
GET /users/{user_id}
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
superuserbaseDENY 401--None
user_abaseDENY 401--None
user_bbaseDENY 401--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 404--None
user_abaseDENY 404--None
user_bbaseDENY 404--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
superuserbaseDENY 400--None
user_abaseDENY 400--None
user_bbaseDENY 400--None
PASS A3 D1
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseALLOW 200self-None
user_abaseALLOW 200user_a-None
user_bbaseALLOW 200user_b-None
PASS A1 D3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseALLOW 200self-None
user_bbaseDENY 403--None
PASS A1 D3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseALLOW 200self-None
GET /utils/health-check/
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200--None
PATCH /users/me
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
-hostileDENY 401--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
-hostileDENY 404--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200selfupdate:user:selfNone
-hostileALLOW 200selfupdate:user:selfNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200selfupdate:user:selfNone
-hostileALLOW 200selfupdate:user:selfNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200selfupdate:user:selfNone
-hostileALLOW 200selfupdate:user:selfNone
PATCH /users/me/password
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
-hostileDENY 401--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
-hostileDENY 404--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-update:user:selfNone
-hostileALLOW 200-update:user:selfNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-update:user:selfNone
-hostileALLOW 200-update:user:selfNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-update:user:selfNone
-hostileALLOW 200-update:user:selfNone
PATCH /users/{user_id}
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
nonexistenthostileDENY 401--None
superuserbaseDENY 401--None
superuserhostileDENY 401--None
user_abaseDENY 401--None
user_ahostileDENY 401--None
user_bbaseDENY 401--None
user_bhostileDENY 401--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
nonexistenthostileDENY 404--None
superuserbaseDENY 404--None
superuserhostileDENY 404--None
user_abaseDENY 404--None
user_ahostileDENY 404--None
user_bbaseDENY 404--None
user_bhostileDENY 404--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
nonexistenthostileDENY 400--None
superuserbaseDENY 400--None
superuserhostileDENY 400--None
user_abaseDENY 400--None
user_ahostileDENY 400--None
user_bbaseDENY 400--None
user_bhostileDENY 400--None
PASS A6 D2
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
nonexistenthostileDENY 404--None
superuserbaseALLOW 200selfupdate:user:selfNone
superuserhostileALLOW 200selfupdate:user:selfNone
user_abaseALLOW 200user_aupdate:user:user_aNone
user_ahostileALLOW 200user_aupdate:user:user_a[priv:is_superuser]None
user_bbaseALLOW 200user_bupdate:user:user_bNone
user_bhostileALLOW 200user_bupdate:user:user_b[priv:is_superuser]None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
POST /items/
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
-hostileDENY 401--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
-hostileDENY 404--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200selfinsert:item:selfNone
-hostileALLOW 200selfinsert:item:selfNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200selfinsert:item:selfNone
-hostileALLOW 200selfinsert:item:selfNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200selfinsert:item:selfNone
-hostileALLOW 200selfinsert:item:selfNone
POST /login/access-token
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
PASS A3 D5
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentvalid_credsDENY 400--None
nonexistentwrong_passwordDENY 400--None
superuservalid_credsALLOW 200--None
superuserwrong_passwordDENY 400--None
user_avalid_credsALLOW 200--None
user_awrong_passwordDENY 400--None
user_bvalid_credsALLOW 200--None
user_bwrong_passwordDENY 400--None
POST /login/test-token
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200self-None
POST /password-recovery-html-content/{email}
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
superuserbaseDENY 401--None
user_abaseDENY 401--None
user_bbaseDENY 401--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseDENY 404--None
user_abaseDENY 404--None
user_bbaseDENY 404--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
superuserbaseDENY 400--None
user_abaseDENY 400--None
user_bbaseDENY 400--None
PASS D1 I3
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
superuserbaseINCONCLUSIVE 599--None
user_abaseINCONCLUSIVE 599--None
user_bbaseINCONCLUSIVE 599--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
PASS D4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
superuserbaseDENY 403--None
user_abaseDENY 403--None
user_bbaseDENY 403--None
POST /password-recovery/{email}
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
PASS A4
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseALLOW 200--None
superuserbaseALLOW 200--None
user_abaseALLOW 200--None
user_bbaseALLOW 200--None
POST /reset-password/
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
POST /users/
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
-hostileDENY 401--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
-hostileDENY 404--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
-hostileDENY 400--None
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:new[privileged]None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
PASS D2
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
-hostileDENY 403--None
POST /users/signup
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
PASS A2
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 200-insert:user:newNone
-hostileALLOW 200-insert:user:newNone
POST /utils/test-email/
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 401--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 404--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 400--None
PASS A1
targetvariantdecisionleaked canariesDB changescountviolation
-baseALLOW 201--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PASS D1
targetvariantdecisionleaked canariesDB changescountviolation
-baseDENY 403--None
PUT /items/{id}
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 401--None
nonexistenthostileDENY 401--None
superuserbaseDENY 401--None
superuserhostileDENY 401--None
user_abaseDENY 401--None
user_ahostileDENY 401--None
user_bbaseDENY 401--None
user_bhostileDENY 401--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
nonexistenthostileDENY 404--None
superuserbaseDENY 404--None
superuserhostileDENY 404--None
user_abaseDENY 404--None
user_ahostileDENY 404--None
user_bbaseDENY 404--None
user_bhostileDENY 404--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 403--None
nonexistenthostileDENY 403--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS D8
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 400--None
nonexistenthostileDENY 400--None
superuserbaseDENY 400--None
superuserhostileDENY 400--None
user_abaseDENY 400--None
user_ahostileDENY 400--None
user_bbaseDENY 400--None
user_bhostileDENY 400--None
PASS A6 D2
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
nonexistenthostileDENY 404--None
superuserbaseALLOW 200selfupdate:item:selfNone
superuserhostileALLOW 200selfupdate:item:selfNone
user_abaseALLOW 200user_aupdate:item:user_aNone
user_ahostileALLOW 200user_aupdate:item:user_aNone
user_bbaseALLOW 200user_bupdate:item:user_bNone
user_bhostileALLOW 200user_bupdate:item:user_bNone
PASS A2 D6
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
nonexistenthostileDENY 404--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseALLOW 200selfupdate:item:selfNone
user_ahostileALLOW 200selfupdate:item:selfNone
user_bbaseDENY 403--None
user_bhostileDENY 403--None
PASS A2 D6
targetvariantdecisionleaked canariesDB changescountviolation
nonexistentbaseDENY 404--None
nonexistenthostileDENY 404--None
superuserbaseDENY 403--None
superuserhostileDENY 403--None
user_abaseDENY 403--None
user_ahostileDENY 403--None
user_bbaseALLOW 200selfupdate:item:selfNone
user_bhostileALLOW 200selfupdate:item:selfNone

Generated by report.py from the lockfile; the verdict is computed by authzlock.diff (deterministic, no LLM).