I have a custom list in SP2010 where I need each item to be available only to the person who created it. A workflow like the one described in this article helped get that working. After an item is created, and the workflow has completed, I check the item permissions screen, and I can see that the workflow has granted contribute permissions to the user that created the item - it works great.
When we had an occasion where multiple people needed access to a specific item, I went back into the item permissions screen, clicked Grant Permissions, and gave the additional people contribute access to the item, just like the workflow did. However, setting things that way appears to adjust the permissions for the entire list - not just the selected item. The people who have custom permissions to that one item now somehow now get contribute permissions to all items created after the change. And if I remove their contribute permissions to the list, it gets removed from the custom item as well.
Is there a way to manually set item level security in SP2010?