umask is usually handled by /etc/login.defs and pam_umask.so. Since bash isn't setting the umask value in /etc/bash/bashrc (or any of the other umasks scripts), it's rather easy to set the umask value through one of these previous mechanisms, but forget about zsh. I think it's sensible to remove it from the zsh scripts.