If somebody sets something in the fail case, it's because they need it in the decision and or grant case. Generically, it would seem a much more common case to want the data through the whole process (since it's likely in the format you already need to continue your checks) than to disregard it by default and make it a manual step to have it again.

What is it that you're using `ares` for in your code if you're not keeping track of permissions and scope through the decision process? I'd understand your point a lot better if I knew of any other reason a person would use it than to keep state.

But again, I'm not waiting on us to have a mutual understanding on this to resubmit the pull request.