Permissions in TFS are namespace based. The namespace doesn't have to exist to set a permission on. I can think of some scenarios when this is actually a requirement:

  • You may like to set permissions on future items so that the permissions are effective whether the items exist or not:
    • The users may add the items without waiting for an admin to be there to set the permissions right after the add
    • You may want to restrict users from creating an item in a certain namespace, let's say there's a website folder and all the pages are .aspx, however index.html takes precedence over Default.aspx as a homepage, so now you may deny check-in permission for all users on index.html which doesn't exist and shall not ever exist
    • You may reserve a folder name for a potential feature name and you don't want users to branch/rename to that name
To read more about the deny option, please take a look at this previous post.