The full answer
Our goal is that few defects reach production in the first place. Code is reviewed, tested by QA throughout each sprint, and covered by automated tests where it makes sense, with a final round of testing before release.
Even so, real users find edge cases. When an issue is reported, we reproduce it, assess its severity and fix it, prioritising anything that blocks users or affects data or security.
The warranty covers defects in the agreed scope, meaning features that do not behave as specified. New features, changes to agreed behaviour and issues caused by third-party services or changes made outside our team are handled separately, through a change request or support arrangement.
The exact terms are written into your proposal before the project starts, so you know what is covered. If you need ongoing maintenance beyond that, a post-launch support retainer keeps the same team available.
Clear reporting helps fixes happen quickly. We share a simple process for logging issues, with steps to reproduce, screenshots and device details, and monitoring and error tracking tools often alert our team to problems before users report them.