Alberto - here are some case scenarios for which Watchdog was created:
I am creating a phone call. For Joe. He needs to call someone. He is the only assigned person. But I created the record. In user preferences you can set:
Automatically watch records created by me - to on or off per recordset. Let's say I have it on. Therefore when Joe updates the record I will see it on my Watchdog. I know that he changed the status from "open" to "in progress". I may unmark it and stop watching if I want. Per record.
Note: watching records created by you - set in user preferences - is not the same as watching entire recordset - or module. This second scenario will be described below and means that you will be notified about records created by others. This is a very useful feature and eliminates a lot of unnecessary e-mails.
Since you configured the watchdog to e-mail you these "alerts" then you get a notification. You are the record creator and as such you can not consider this to be a private record. However if Joe changes the status of the record to private then security check will mark him as the only person with access. So it is up to Joe to hide it from everyone else.
So Alberto - when you watch or "subscribe" to the record - you want to know what is happening with it. If I am an Account Manager for a customer XYZ and then Joe makes a phone call to them - maybe I would like to know about that? Or someone attached a note. Maybe they have a new order? - Watchdog applet will show you all of this. Think of a Watchdog as your personal assistant that reminds you what you need to know and when you need to know (meaning that something happened).
Now - if you don't like this idea - don't worry. Go to Admin Panel and open Access Restrictions. At the bottom you should find:
Watchdog - subscribe to categories
and it is set to: Access: Employee and Access: Manager
Edit it and create another rule. Maybe only for admins?
Ability to watch entire recordsets or information in a particular module of EPESI can be very useful. For example I can watch every newly created record in Support Ticket. For example Joe and me are responsible for assigning new tickets. So I watch tickets - all newly created. Let's say I have on my Dashboard an applet showing tickets with status New.
I login and see a notification in a Watchdog applet that a ticket number 123 was created by so and so at that time and about 5 min later Joe assigned it to some dude and changed the status to open. I mark it as "I've seen it" and still keep watching. But my job is not to track it anymore than I also unsubscribe from it or "stop watching". Note that my applet will not show ticket 123 because it was processed.
If on the other hand I am the person in Customer Support and my job is to notify the customer about ticket's status changes then I will keep watching it.
If your employees are watching you then they will get notification. You can find out this way: As superadmin open this user contact and click on Login as user. You don't need to know his/her password. You are superadmin. You can digout private info directly from the database so there is nothing that can really hide from you. Thus we provided this feature on purpose - it is very useful when debugging a problem or testing permissions. When you will be logged there open your own record and see if the user in question is watching your record.
Final note:
Giving all employees access to watch entire recordsets may be very dangerous as people abuse it - and it should be disabled. Depends on user base. It is good idea to leave it to Managers only and I think that this should be the default setting - at least that was the idea after one incident where we had to clear something like 3 mln queued notifications. Nobody was clearing notifications but everyone subscribed to everything. Over 500 users. Millions of records.