DownloadAllowed logic moved, using proper validation