¿Están cifrados los datos de IndexedDB?
No, no por defecto. IndexedDB guarda los datos en texto plano en el disco del usuario, y cualquier script del origen puede leerlos. Si necesitas confidencialidad, debes cifrar los valores tú mismo en la aplicación, por ejemplo con la Web Crypto API, antes de escribirlos en la base de datos.