From the chapter Forgiving Ourselves in Bring Home the Dharma by Jack Kornfield:
Forgiveness is not weak or naive. Forgiveness requires courage and clarity; it is not naive.
Forgiveness does not happen quickly… True forgiveness does not paper over what has happened in a superficial way. It is not a misguided effort to suppress or ignore our pain. It cannot be hurried.
Forgiveness does not forget, not does it condone the past. Forgiveness sees wisely. It willingly acknowledges what is unjust, harmful, and wrong.
Forgiveness does not mean that we have to continue to relate to those who have done us harm…. Forgiveness simply means never putting another person out of our heart.