I think this API is mixing concerns a bit.

isNonFacadeMBeansSensitive -- that name sounds like it is passing the subsystem config into the Authorizer. That could be a valid thing to do, but it shouldn't need to be done on a per-request basis. ConfigurableAuthorizer could expose a method that gets invoked whenever the management attribute gets set.

An alternative thing (and I think closer to how this actually works) is to rename this to something like

isSensitiveDomain()

That is a method that describes a characteristic of the "target" as opposed to the configuration of the Authorizer. The Authorizer than can decide to do what it wishes with that information, including ignoring it if that's what a custom impl is designed to do.

I definitely don't want to see a method named isSuperUserOrAdminOnly in the SPI. SuperUser and Administrator are implementation details; an Authorizer impl may have no such notions.

Looking at the usage of this method, it seems to be trying to communicate some "Action"-ish information. Basically whether this an invocation of the MBeanServer deserialization or classloading ops. Should that be more directly expressed? That is, just tell the Authorizer what is being requested and let it decide what to do about it.

An overall theme I'm getting at is the subsystem should provide data to the Authorizer about what is being requested and the Authorizer should decide what to do about it. The subsystem shouldn't try to do part of that processing on behalf of the Authorizer. 

isReadOnly is also a description of an "action" as opposed to a target.