I have a custom list on a SharePoint 2010 extranet site which users from various external companies can add items to. The list's Permission Settings page allows you to make **all items visible to all users**, or make items **visible only to their author** however I need to limit the visibility of the list items to the person that created the item **AND** everyone else in their company too.

The company name is stored in Active Directory along with the user account.

Is it possible to achieve this programmatically, and if so, how?

> FYI: New users will continue to be added to Active Directory long after the solution has been deployed (potentially from new companies) so I'd need a solution that accounts for that.
>
> FYI: I don't want to create a seperate list for each company because there will be a large number of users and companies.

**[UPDATE]** Here's a simple example... Let's say Bill Gates and Steve Jobs have both previously added items to my list. Well I want **all** employees from Apple to be able to see & edit **only** Steve Job's items when they navigate to my list, and similarly, **all** employees from Microsoft to see & edit **only** Bill Gates' items.