The CCK Field Privacy module allows a user to determine whether a particular CCK field is viewable by (a) everyone, (b) Buddies, or (c) Nobody. This information, once stored, dynamically changes the display of a node with CCK fields based on the privacy settings of the user.
The goal of the CCK Field Privacy module is to enable an end user to restrict which personal information is displayed in profile nodes, such as nodeprofile. When editing a node in a content type with field privacy enabled, the user will see a padlock icon next to the title of any field that the administrator has enabled privacy for. By clicking the padlock, the user will be presented with a JQuery popup where the specific privacy setting can be chosen: everyone, buddies, or nobody.
Get the module from git or from the cck field privacy project page.
This module requires the buddylist.module, content.module, and jquery_impromptu.module. Enable these modules, then enable the cck_field_privacy.module. The next step is to select the content types on which privacy settings are allowed (Administer > Content Management > Content field privacy). Once one or more content types are enabled, each CCK field in the content type will be displayed. The administrator can allow privacy settings on any number of the CCK fields in the content type. The ability for users to edit privacy settings is enabled once the choices are saved by the administrator.
It would be important to mention that this permission is set for all those cck fields across multiple nodes. So you can't set permissions on a 'per node' basis.
Example: you can't use this if you want users to upload pictures (nodes) and have some pictures available for friends and other for everybody.
2. Get the padlock to also appear on field group titles (fieldset legends), if selected.
3. Extend the module to work with User Relationships, Buddylist2, and other relationship modules (at the administrator's discretion).