Security: is protected right

I wonder because there might be multiple degrees of protection, so to speak. A group might know one thing about a character, and another group might know a different thing about the same character.

On my first planning I

On my first planning I wanted to model information passing between characters. The idea was that every relationship (knowing someone, being part of a group) would grant access to information. This was defined by a value pair: what type of information, and how strong the information came. The strength was to reduce the change of everyone knowing everything. So if I know dcsobral, and he passes me 50% of the information, I would hear all information with 50% of it volume, I could then pass 20% to pr3j, so pr3j has 10% of the information dcsobral has (by means of his relation with me).

This looked nice, but had some problems:

  1. We need a transitive closure, which is easy to compute, but not using SGML/DSSSL or PHP.
  2. In my tests, even with strong "noise reduction" almost every character had access to everything at some level; this meant we would endup having to rewrite every thing.

For those reasons I dropped the idea.

If I get it correctly, you suggest that information has a "class or type", and user groups can see different classes of information. One problem with this is that we should allow any number of classes, and this make the security model in the database more complex. Though it can be modelled, who would create the classes? Only masters or story admins? Could you give me a use case (a real example)?