A schema describes what valid input looks like; parsing either returns clean data or a list of issues. Libraries such as Zod do this in code instead of a separate schema file.