KRACOEUS-6294: This PR is the doc level permission code.  It does not include data conversion

A lot of these can use the shorter p: syntax. I also think some of these, auth and maybe maintainable could be spring managed if we wanted.