What do you call people who speak the truth, but only for their own benefit?
2 Answers
Such a person might be described as "selective with the truth."
David Siegel on English Language Learners Stack Exchange describes it as meaning:
to tell some truths but not others about a topic. It at least implies that the result is to mislead, by omitting significant aspects of the whole truth.
And the bias here is that social network encourage people to be selective with the truth (at best) or to tell untruths. This can make it very difficult to gain real insight from social networks.
As for such people's use of truth, it (the truth) is 'expedient'.
Expedient - Convenient but based on a concern for self-interest rather than principle: changed his position when it was politically expedient.
[source - American Heritage® Dictionary of the English Language, Fifth Edition. S.v. "expedient." Retrieved October 16 2020 from https://www.thefreedictionary.com/expedient]
We might therefore say something as simple as, "Jane's use of truth is expedient" (to use the adjective form), or "Dan regards truth as a mere expedient" (to use the noun form).
As for such people's character, there are a number of candidate expressions. Two of which that come to mind prominently are:
Unprincipled - a) Lacking sound or honourable principles of conduct. b) Based on or exhibiting a lack of principle: He's an unprincipled self-seeker out for the main chance.
[source - SOED]
Unscrupulous - Having or showing no regard for what is right or honorable.
Accordingly, we might say something like: "Dan is so unprincipled as to always regard truth as a mere expedient."