if the site is `safe`, then just iterate over `whitelist & gems` (the intersection of the two arrays), otherwise just iterate over `gems`. Might be wise to make a `Site#allowed_gems` array that handles the aforementioned condition.