I'm going to include things that aren't in our own interest, so let me say upfront: working with clients who ask these questions is harder for us, but the results are better.
1. Who owns the code? If it's not explicitly stated in the contract, that's a problem. "We'll deliver it" isn't enough; IP transfer is a separate clause.
2. Where will the source code live? In your own repo or the agency's? If it's the latter, how will you take over when the project ends?
3. What's out of scope? The proposal needs an "exclusions" list just as much as an "inclusions" list. Otherwise, that gap turns into an argument later.
4. Who will be working on it? Is it the senior person who pitched the proposal, or will the team change once the project starts? Don't ask for names, ask for the seniority breakdown.
5. What happens post-delivery? How many days for bug fixes, is it free, and what's the scope?
6. Which tech stack and why? If the answer is "we know this well," that's a valid answer. If it's "it's the newest," it's not.
7. How frequent are the interim deliveries? If you're only seeing them every two months, you're already behind.
8. How do we part ways if the work is done? A contract without a termination clause is the most expensive clause when things go south.