As I understand it, NIST approves crypto algorithms but doesn't cover specific implementations. I think I've read about IEEE approving hardware implementations of, e.g. AES, but I can't think of any organization that performs an analogous function for software implementations of crypto algorithms. 

Corollary/follow up question: There are many open-source, freely-available crypto libraries; are any of these standardized/approved by any kind of regulatory body?


Question: Managed Package and dealing with Standard Objects?
Answer: Create your own Record Type for Accounts and Contacts that will indicate the records are applicable to your managed package. 

Then check if the Account/Contact has the required Record Type before applying the trigger.

I.e. The triggers only make changes if the Account/Contact is of a configured RecordType

This will also help isolate your customizations from any other installed packages that are also working with Account/Contact.

Note: Avoid hardcoding any RecordTypeIds in the trigger. It is better to look them up as required or make them configurable.



If you want your triggers to work for multiple record types you could examine a particular field to see if it indicates the record is applicable. This could be as simple as having a Checkbox on the Account or Contact that indicates your code should be applied to the record.



With triggers I also make it a habit to provide a bypass custom setting. Create a hierarchy checkbox custom setting that indicates if the trigger should be bypassed. Then an admin can configure the custom setting to skip the trigger for certain profiles/users as required. This can be extremely useful when loading data into the system.