Only the assignee, the caller, or an admin may read an incident.
answer = false;
var me = gs.getUserID();
if (gs.hasRole('admin')
|| current.assigned_to == me
|| current.caller_id == me) {
answer = true;
}WhyRow-level read ACLs run per record, so keep them cheap — compare sys_ids already on `current`, never run a GlideRecord query here.
PitfallA read ACL that queries another table multiplies by list size and will time out on a 10k-row list view.