feat(vault): vault temporary file (closes #4920)