In JavaScript, objects are used to store keyed collections of various data and more complex entities. Objects penetrate almost every aspect of the JavaScript language. The object might be accessed as global or passed as an argument. Functions that have access to the object can modify the object, whether intentionally or accidentally. To prevent modification of our objects, one of the techniques is to use Object.freeze().

Software development groups, if they keep any records at all, are likely to limit their files and notes to results and conclusions, the work product or deliverables generated by their efforts. Programmers, especially, are loathe to write down anything other than the code itself unless they are threatened with a fine or imprisonment.