1. A method for storing data on a storage system, the method comprising the following steps: receiving data to be stored in a storage object on a storage system; receiving a request to create the storage object, apply a specified name to the storage object and set a protection level for the storage object, wherein the protection level is selected from a group consisting of mutable, immutable, and appendable, wherein the mutable protection level enables modification of the storage object and enables modification of the protection level of the storage object to immutable or appendable, the immutable protection level prevents modification of the storage object and prevents the storage object from changing to a different protection level, and the appendable protection level enables addition of data to the storage object that becomes immutable, but prevents the modification of the protection level of the storage object from becoming mutable; appending a version number to the specified name if the specified name is already used by a storage object, or in the process of being created; receiving a command for storage of the data and the protection level within the storage object, where the command is chosen from a group consisting of a create command, an update command, and a write command, wherein the create command creates a storage object with a specified name, an update command modifies the type of storage object and the write command overwrites or appends data to the storage object; and performing the command to store the data and the protection level into a storage object according to the protection level received, wherein the level of protection level expires after a first predetermined time period, and wherein the level of protection level is upgraded after a second predetermined time period; creating and maintaining a log comprising: creating a log as a first appendable object; writing log entries to the first appendable object; grouping the execution of multiple instances of creating a log and writing log entries; and closing the log after a third predetermined time and changing the log from appendable to immutable; and receiving a request to close the storage object, and closing the storage object.