How can I lock specific posts (cpt's) from editing by anyone other than ADMINS

To be 100% clear, this has nothing to do with the front end of the site.

I want to keep all users other than Admins from editing a few specific posts. The posts are a CPT that the editors/admins can create and modify, but 3 of them need to be locked so that only admins can CRUD them.

Any ideas?

Solutions Collecting From Web of "How can I lock specific posts (cpt's) from editing by anyone other than ADMINS"

Use the map_meta_cap filter to conditionally prevent users who cannot manage_options (i.e. administrators) from editing/deleting certain posts:

function wpse_188368_map_meta_cap( $caps, $cap, $user_ID, $args ) {
    if ( in_array( $cap, array( 'delete_post', 'edit_post' ) ) && $args && ! current_user_can( 'manage_options' ) /** Only proceed for non-administrators */ ) {
        $post_id = $args[0];
        if ( in_array( $post_id, array( 1, 2, 3 /* ID's of locked posts */ ) ) )
            $caps[] = 'not_allowed'; // Add a required capability they won't have - current_user_can() will then subsequently return false
    }

    return $caps;
}

add_filter( 'map_meta_cap', 'wpse_188368_map_meta_cap', 10, 4 );