From what I can gather, roll20 relies heavily on the names of attributes and abilities being unique. However, when you add an attribute or an ability, there is no validation ensuring that the new attribute does not conflict with an existing attribute. I implore you to introduce validation into the add, update and delete functions for abilities and attributes. For add, you have a couple of options: 1. You could throw an error if a caller attempts to add an attribute that already exists. 2. If your add function returns the attribute that was added, then you could just return the existing attribute with that name. For update, I really think you only have one option. Throw an error if a caller attempts to change the name of an attribute to an attribute name that already exists. For delete, ensure an attribute that the character sheet relies on is not deleted. This would require validating the name against the character sheet, but would avoid issues where users accidentally delete an attribute that backs a field on the character sheet. Since attribute and ability names are keys across the entire character sheet and chat, then it is critical that case rules, allowed characters etc, are established and enforced. Given that the HTML standard is case sensitive, I would stick with that, and accept the attributes added as is, without changing case. However, make sure that the validation check is case **insensitive**. Prevent attributes that differ only by case from being added or updated. It allows all existing character sheets to remain unmodified, but clamps down on potential future issues. I would also like to suggest that you provide a mechanism where users can validate their existing character sheets. They can fix duplicate attributes and abilities manually, but having a validate function that lists duplicate attributes and abilities would go a long way in resolving issues with existing character sheets. Thanks.