We pass hashid as an identifier of the habit and calendar templates.

hashids are generated using 'hashids' module.

We create an encryption key for the hashing. eg.
    var hashids = new Hashids('This is my salt');

And then we pass the encrypted hashid to the UI

When an habit or calendar item is marked, we decrypt the hashid to get the original id.
Then update the item as marked or unmarked.