1: Replace the two DB permissions noted in the OP with a "Database Administrator" permission - DBA for short.
1a: The DBA can apply the following filters:
1a.1: Guild ID (Fleets) - hides all fleets belonging to that GID.
1a.2: Guild ID (Bases) - hides all bases belonging to that GID.
1a.3: Can apply up to five GID per category simultaneously.
1a.4: Security Level 1, 2, and 3 - applied to each guild member. Players without any permissions cannot access DB info besides their own.
1a.5: Can set the functions of each security level manually, from the following criteria:
- can see guild fleets
- can see guild bases (unlimited view)
- can see guild bases (limited view - can only see owner, coordinates, and JG level)
- can see fleets that 1a.1 hides
- can see fleets that 1a.2 hides
2: Instead of deleting all data after the time periods noted in the OP, the DB will maintain the coordinates, astro type, base owner, and JG level of all entries. Everything else will be flushed.
3: Non-guild permissions.
3a: Can add player IDs to DB permissions list. This is done by anyone with DBA.
3b: Number of non-guild IDs on permissions list cannot exceed 10% of the number of players in the guild.
3c: If your guild member count drops below the amount needed to keep your current permissions list, the most recently added number is deleted.
3d: The person receives a notification on their end that they have been added, and must click a consent to begin data sharing.
3e: The person can view all guild DB information (with restrictions set by the DBA as seen above).
3f: The guild can view all DB information from the player (with an equivalent set of permissions on the player's end).
4: All players will have the option to hide their DB information from their current guild. Note that anyone with DBA can see that you are hiding it. While hiding, you can still view guild DB information, but only once the DBA has given you the corresponding permissions.
What do you all think?