Mmmm... I suspect this is still too subtle. Ultimately we'd like to catch typos during development with testing and unit tests. Logging errors is probably too quiet. An exception is loud and clear, though. If we're returning False, it's going to cause problems in production anyhow. Forbidden vs. Oops--in either case, the user can't do anything. The latter is more clearly an error. The former is weird.

Either way you want to go is fine.