defprotocol Philomena.Attribution do @doc """ Provides the "parent object" identifier for this object. This is so that anonymous posts under the same topic id can return the same hash for the same user. """ @spec object_identifier(struct()) :: String.t() def object_identifier(object) @doc """ Provides the "best" user identifier for an object. Usually this will be the user_id, but may also be the fingerprint or IP address if other information is unavailable. """ @spec best_user_identifier(struct()) :: String.t() def best_user_identifier(object) end