@@ -250,6 +250,10 @@ public function move(string $source, string $destination, Config $config): void
         if ( ! @rename($sourcePath, $destinationPath)) {
             throw UnableToMoveFile::because(error_get_last()['message'] ?? 'unknown reason', $source, $destination);
         }
+
+        if ($visibility = $config->get(Config::OPTION_VISIBILITY)) {
+            $this->setVisibility($destination, (string) $visibility);
+        }
     }
 
     public function copy(string $source, string $destination, Config $config): void
@@ -265,6 +269,10 @@ public function copy(string $source, string $destination, Config $config): void
         if ( ! @copy($sourcePath, $destinationPath)) {
             throw UnableToCopyFile::because(error_get_last()['message'] ?? 'unknown', $source, $destination);
         }
+
+        if ($visibility = $config->get(Config::OPTION_VISIBILITY)) {
+            $this->setVisibility($destination, (string) $visibility);
+        }
     }
 
     public function read(string $path): string