In a full-on DF philosophy, every fact (and 'fact', given we already have dissembling and assumed identities for vampires and being developed for player-use for reputational purposes, and the whole Villains thing) might need to be marked as "known by <entity list>", possibly with nuances of "believed by...", "heard as runour by...", and even "disbelieved by..." (known to be said, but over-ruled by a contrary fact(/'fact') or opinion), etc.
Obviously this would be cumbersome as an 'everyone vs. every fact' (vs. every degree of knowledge) multidimensional array. Still complicated to maintain as "<foo1> knows <bar1, bar2, bar3, ...> and/or "foo1, foo2, foo3, ...> know <bar1>" (both forms would double the storage needs, and add more time to save developing changes, but would save search-time if you potentially needed to check bidirectionally).
Though with cascading entity grouping it could be quite interesting. When enough of a site is marked as identifying some information, re-store that as the site knowing this. Enough related sites acknowledging a fact shuffles it up to a civilisation-level knowledge dispersion. And racial-level beliefs and even possibly to world-level if a form of concensus (like "who is that god-level exterminator wandering the world?") is established that widespread.
Talk to an individual (or otherwise need to know what they 'know') and you could find that they personally (dis)believe something that is actually differently recorded by one or other group they belong to which might be used to either add uncertainty ("well, I always thought... but my family is convinced that...") or extra commitment ("the fools all think... but only I know The Truth!").
Well, maybe not simpler, and potentially starts to eat up the memory/cycles you'd hoped to save, but could be interesting.