You can easily create separate groups for your checklists:
// Create the group
$group = Sentry::createGroup(array(
'name' => 'Administrators',
'permissions' => array(
'checklists.admin' => 1,
'checklists.view' => 1,
),
));
// Create the group
$group = Sentry::createGroup(array(
'name' => 'checklists.view.101',
'permissions' => array(
'checklists.view.101' => 1,
),
));
Add your user to a checklist group:
$user = Sentry::getUser()->addGroup( Sentry::getGroupProvider()->findByName('Checklist101') );
And check if it has access to it:
return $user->hasAnyAccess(['checklists.view', 'checklists.view.101'])
In this case, if your user is administrator, it will also be able to view it.