pub fn is_valid_id(id: &str) -> bool
Hex SHA-256, lowercase. Every public entry point that turns an id into a path validates it with this first, so an id can never carry a separator.