Seems like there is a mixed use of visibility and permissions here. Visibility is public/private/loggedin, permissions is visibility + sharing, so we should name our things accordingly.