standardize permission handlers, fix error when vault is missing