All the following are conceptually opposite of Anonymous, I address your use of the name Visitor as related to the definition of Anonymous below.
Authenticated User - your use of logged in in implies supplying some sort of credentials.
Identified User - implies you know who there are based on the login information.
Verified User - implies some checking of credentials and known information.
Known User - a direct Antonym of Anonymous.
Other possibilities are the opposite of Anonymous, the thesaurus is a good place to start looking for names, they usually provide great semantically more relevant synonyms, but also a good choice of antonyms.
Also it is implied that Moderator and Admin are logged in, and technically sub-roles of your logged in state user.
NOTE: The Antonym of Visitor is Host.
The definition of Visitor is person temporarily in a foreign location, it doesn't imply that they are Anonymous which is unknown, usually by choice
So it isn't semantically a Synonym for Anonymous user.
english.stackexchanged.com is a good place to ask this type of advice as well.
The best way to manage document control is to have a clear and well documented configuration management policy. This policy should address versioning of everything related to the project, from external libraries to code to documentation. In the same location, you can also address change management - how you deal with changes to any aspect of the project, from requirements through your code.
The key is to have some kind of system to track changes and revisions. At work, we use SharePoint. You could probably get away with using any version control system, but you are
You probably keep code in a version control system. The idea is that you do the same with documents, although you probably want to enable locking for documents since merging binary files (Word Documents and so on) might not be possible.
The official versioned document should be kept on the corporate intranet or someplace with appropriate security and access control. At work, we use SharePoint, which handles versioning as well. If you use some other technology or tools, you might be able to leverage that (perhaps with plugins or extensions). Just make sure everyone knows where to go to find the latest and greatest official documentation.
It's also necessary to keep track of not only the current version identifier, but also a revision history, inside the document. This way, when you print the document, it becomes easy to "diff" them and figure out what sections have been modified between any two physical copies.
Just to describe what, specifically, our documents look like:
The first page is a cover page. The corporate or project logo is in the top left corner. The document ID, late modified date, and revision ID are in the top left corner. Classification markings are centered in the header and footer. The document title is roughly centered on the page. Below the title comes all applicable copyright and distribution notices.
On all other pages, the header contains classification markings in the center and the document name in the right corner. The footer contains the document ID and revision ID in the left corner, the classification markings in the center, and the page number in the right.
The next page is the approval sign off page. It contains the document title and ID number, along with the signatures and dates of the preparer and approvers. On official versioned copies, the document actually has an image with the signatures in it.
The third page is the revision record, which again as the document title and ID, followed by a table that provides a revision ID (usually a letter), any change requests associated with the revision for tracking back to defect reports (yes - we file defects against documents), the date of the revisions, and the pages/sections modified.
Best Answer
That's the key: use the terminology of the domain, i.e. the names of the roles. Who can play the roles is not important. Make sure that the roles are well-defined (for each scenario).
It is entirely possible for me to visit my own website and purchase my own products. It's silly, but it's possible [but I've done it to test the e-commerce software!]. That fact that I am the provider, host, author, webmaster, copywriter, programmer, client, customer, visitor, purchaser, guest, owner, and employee all at the same time does not alter the terminology of the use-case: "customer buys product from owner via web form"