Media and cache keys
This might sound like a dumb solution, but the simplest and fastest solution of hiding fields would be hiding with CSS depending on a parent (paragraph) attribute or class. E.g. in paragraph preprocess

if ($paragraph-&gt;get('your_field')-&gt;value == "hide credit") {
  $variables['attributes']['class'][] = 'paragraph--credit-hidden';
}


and in CSS

.paragraph--credit-hidden .field--credit {
  display: none;
}


Other options would be either additional view modes for media entities (if not to many permutations), additional cache contexts (depending on the case, given your problem description most likely not a good solution), corresponding to your host paragraph settings. But given your description I'd go the KISS way and avoid the coding overhead.