Self-reproof