A number produced without questions is a red flag rather than good service. Any serious team returns a list of questions: about integrations. A provider that commits to a figure before understanding the scope is working from a template, and that guess resurfaces as a change order — at your expense.
Be wary of a mismatch between the engineers on the sales call and those who eventually appear in the repository. Insist on named engineers in the contract, custom software vs saas with a provision that requires notice before anyone is swapped. A vendor that will only describe a pool of resources and will not commit to individuals is keeping the option to staff you with whoever is free.
Insist on the source repository from day one. A partner that delivers nothing between demos expects you to trust a black box. Daily commits show you who is really on the project far better than a weekly report. The same holds for the build and deployment setup: if nothing runs automatically, assurances about quality are unverifiable.
Vague phrasing around intellectual property is rarely an oversight. The agreement needs to state plainly that all deliverables transfer to the client upon settlement of the relevant invoice. Check also the jurisdiction and the milestone terms: a request for most of the money up front with nothing due in return software development for regulated industries weeks takes away the only leverage you have.
Finally, pay attention to how they communicate. Ask what overlap you will share with your timezone, which person handles questions and how quickly. A few hours of overlap is usually enough; no overlap converts every clarification into a lost day. Sloppy written English in the sales phase rarely improves under delivery pressure.