User Controlled Versioning and Backup

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.

Hey Knack - this is my biggest beef too.  I need to be able to do some Version Control on these objects.  I have various people that can make changes in Knack and need to be able to track these changes over time.  I could probably build something out for the Data since I can pull that schema from the api, but I haven't found anything similar for Pages (which is where we're seeing people make the most changes.) At the very least, I'd love to see the Pages schema be available via the api.

Test in production.  Ha!

This is one of my biggest concerns with Knack. No version control, no test environment, no rollback, no tests. It's like software development 20 years ago.