Privacy Rewrite

The Privacy API in libpurple is badly in need of a rewrite. This page is available to describe the privacy options as they pertain to each protocol so that a common API can be developed. Please fill in information for each protocol as you see fit.

Protocol Specific Information


(This information is from memory and may be wrong.) Has 2 lists: the allow list and the block list. They can be activated and deactivated by changing your privacy preference. The privacy preference has 5 states: allow everyone, allow everyone not on the block list, allow only people on the allow list, allow only people on my buddy list.


Only buddies on the user's contact list (and vice-versa) are allowed to contact the user. Buddies can be made invisible on a per-group basis, causing the buddy to be blocked/uncontactable. However, buddies may be in more than one group so may potentially be blocked on one group but unblocked on another and therefore contactable.

Gadu-Gadu (GG)



(This information is from memory and may be wrong.) Is similar to AIM, except that the 'allow list' behaves like a 'visible' list and the 'block list' behaves like an 'invisible' list. And similarly to AIM the privacy preference controls which of these lists are active. In ICQ clients the privacy preference is changed for you automatically when you become invisible/uninvisible. i.e. when you go invisible your privacy preference is set to "visible only to people on the invisible list" and when you go uninvisible your privacy preference is set to "visible to everyone not on the block list." In addition to this there is an ignore list, which behaves the same as AIM's block list except that it is always active.



Lotus Sametime



MSN has 5 lists. They are the Forward List (FL), Allow List (AL), Block List (BL), Reverse List (RL) and Pending List (PL). The Address Book holds your FL, along with other email-only buddies. The FL is for the contacts who are on your buddy list. The RL contains those buddies who have you on their buddy list. You may not edit this list.

The remaining three lists are for actual privacy options. The AL shows who can talk to you. The BL shows who cannot talk to you. There is an "all others" meta-contact that can be placed in either the AL or BL, which determines whether random people you don't know may talk to you. The final list, the PL, is for buddies who are requesting you to add them to your own FL/AL/BL. You can only delete people from this list.

The privacy settings determine if people are allowed by default, or blocked by default. Depending on the option is the relevant list; AL, or BL.

Novell Groupwise Messenger


MySpace IM

MySpaceIM's privacy features have not been fully reverse-engineered, but known details are available at The protocol appears to support a server-side accept list and block list. Users can also choose to only allow people on their contact list to see when they are online, and/or only allow people on the user's contact list to contact them.



XMPP (Jabber)



Yahoo! has three lists. One is the Block list. Anyone not on the block list can contact you. Anyone on the block list must be removed from the buddy list--this is enforced by the protocol. The other two are the Appear Permanently Offline list, which hides your presence information from those on the list, and the Always Visible list, which lets those on the list see your presence even when you're Invisible. Currently I believe we don't have any support for the Always Visible list.



Last modified 9 years ago Last modified on 06/16/09 16:49:02
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!