cedar-policy 4.10.0

Cedar is a language for defining permissions as policies, which describe who should have access to what.
Documentation
entity String = {
    "realContent": __cedar::String 
};

type Address = {
    "street": String,
    "city": String,
    "zipcode": String
};

type ContactInfo = {
    "email": String,
    "phone"?: String,
    "address": Address
};

type UserPermissions = Set<__cedar::String>;

entity User = {
    "contact": ContactInfo,
    "permissions": UserPermissions,
    "active": Bool
};

action updateContact appliesTo {
    principal: [User],
    resource: [User],
    context: {
        "reason": __cedar::String,
        "timestamp": Long,
        "newtypeReason": String
    }
};