IDs are now generated via SHA256 rather than MD5 to lower collision risk