code: func (p *PolicyAuthorizer) KeyRead(key string) bool {
  	// Look for a matching rule
  	if rule, ok := getPolicy(key, p.keyRules); ok {
  		pr := rule.(RulePolicy)
  		if allow, recurse := enforce(pr.aclPolicy, PolicyRead); !recurse {
  			return allow
  		}
  	}
  
  	// No matching rule, use the parent.
  	return p.parent.KeyRead(key)
  }
docs: // KeyRead returns if a key is allowed to be read