Would it be possible to implement any type of versioning control/backup that the user has control over? What I'm picturing is being able to grab a blob that has the interface and database definitions in it (this could even be encrypted with a password that only Knack has knowledge of if there is a concern of IP being extracted from this blob) that a builder could download and drop in a GIT repository with some change notes etc.
I've been playing with the idea of at least adding the JavaScript and CSS that I put into a site into a versioning control so I can have some historical reference to how things evolve over time.
This blob could then ideally be sent back to Knack and restored if something horrid happened. I know that Knack makes backups, but adding the flexibility for a builder to roll back much further than Knack keeps backup configurations could be of great use.
As a side thought, these backups (potentially) could be used to make modules that could be added to a site rather than replacing the site. I know there would be naming conflicts to work out ect but could prove interesting as a possibility.