use libmsg::Secret to wrap tokens and keys so we do not need seperate functions to handle them