client should handle trust state