This article provides instructions and recommendations for the Horde IMP webmail service, which can be integrated with the Linux Mail Service Module.

The Horde IMP webmail service has its own database and log files. When the logging level of the service is set to INFO (the default configuration), no personal data is written to the log files. However, if the logging level was previously set to DEBUG, some personal data may be found in the log files. In this case, personal data must be manually removed from those. The database of the service may store personal data of Odin Automation customers. To comply with the GDPR, you can use the recommendations below.

You can check the presence of the personal data of a user in the following way:

  1. Log in to the host where the IMP Horde database is placed.

  2. Log in the database:

    mysql horde -uroot -p
    
  3. Check if the database contains the personal data of the user. We recommend that you use the following SQL queries:

    select alarm_id, alarm_uid, alarm_title, alarm_text, alarm_internal from horde_alarms;
    select * from horde_cache;
    select group_uid, user_uid, datatree_name, datatree_parents, datatree_data from horde_datatree;
    select attribute_name, attribute_key, attribute_value from horde_datatree_attributes;
    select group_name, group_parents, group_email from horde_groups;
    select user_uid from horde_groups_members;
    select object_uid, history_action, history_desc, history_who, history_extra from horde_histories;
    select lock_owner, lock_principal from horde_locks;
    select perm_name, perm_parents, perm_data from horde_perms;
    select pref_uid, pref_scope, pref_name, pref_value from horde_prefs;
    select user_name, signup_host, signup_data, signup_date from horde_signups;
    select * from horde_syncml_anchors;
    select * from horde_syncml_map;
    select * from horde_tokens;
    select user_uid from horde_users;
    select vfs_path, vfs_name, vfs_owner from horde_vfs;
    select * from imp_sentmail;
    select forward_owner, forward_addresses from ingo_forwards;
    select list_owner, list_address from ingo_lists;
    select rule_owner, rule_name, rule_value, rule_conditions from ingo_rules;
    select share_name, share_owner, attribute_name, attribute_desc from ingo_shares;
    select group_uid from ingo_shares_groups;
    select user_uid from ingo_shares_users;
    select * from ingo_spam;
    select vacation_owner, vacation_addresses, vacation_subject, vacation_reason from ingo_vacations;
    select event_uid, calendar_id, event_creator_id, event_description, event_location, event_attendees, event_title, event_keywords, event_exceptions from kronolith_events;
    select share_name, share_owner, attribute_name, attribute_desc from kronolith_shares;
    select group_uid from kronolith_shares_groups;
    select user_uid from kronolith_shares_users;
    select vfb_owner, vfb_email from kronolith_storage;
    select memo_owner, memo_uid, memo_desc, memo_body, memo_category from mnemo_memos;
    select share_name, share_owner, attribute_name, attribute_desc from mnemo_shares;
    select group_uid from mnemo_shares_groups;
    select user_uid from mnemo_shares_users;
    select * from turba_objects;
    select share_name, share_owner, attribute_name, attribute_desc, attribute_params from turba_shares;
    select group_uid from turba_shares_groups;
    select user_uid from turba_shares_users;
    

In case the personal data of the user is found, you can either provide the user with the data or remove it from the database, depending on what the user has requested.

Internal content