A short introduction to the question: I'm a Scrum Master in a small web development organization (10 employees) and we do a lot of projects that'll last for 3 or 4 sprints, with an average duration of 2 months total.
I'm currently in a situation where we actively involve the Product Owner during backlog refinement meetings and sprint plannings, even though some of the companies we work with were hesitant at first because they're not familiar with the Scrum framework. That being said, they were happy to to tag along as it gave them a lot more control of the proces. The problem is: although they know the rules about not changing the sprint backlog during a sprint, most of 'em change the backlog at least once every sprint. Their intentions are good ("we found out a different color works better, change it" / "Our client wants to test in browser X today, please make a testing server now" etc) but they don't seem/want to understand that this will impact the work we can finish during a sprint.
Now we thought it would be a good idea to let the Product Owner sign a sprint release contract, containing key dates, the sprint backlog and definitions of done. While researching scrum theory we kind of assumed the presence of the PO in sprint planning meetings and a verbal agreement to commit to the backlog was enough, but in reality that's not always the case.
My question: is it a good idea to let the PO sign a contract containing the sprint release details? And is there any example of such document in Scrum literature I can reference?