diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9b99865292350fb8b274c8771820fa8784a565d8..353272291883896608e06fb69b5069064aea0aac 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,22 +3,29 @@ variables:
     GIT_SUBMODULE_FORCE_HTTPS: "true"
     SECURE_FILES_DOWNLOAD_PATH: './'
 
+
 stages:
     - deploy
 
+
 deploy:
     image: docker:latest
     stage: deploy
     tags:
         - dojo_backend_deployment
     script:
-        - API_VERSION=$(jq -r .version API/ExpressAPI/package.json)
-        # Download secure files
-        - curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
-        # Prepare environment
-        - mv env_$API_VERSION .env
-        - cp .env API/.env
+        - cd "API/ExpressAPI"
+
+        # Get API version
+        - API_VERSION=$(jq -r .version package.json)
+
+        # Get env file
+        - |
+            echo "Decrypt production env vars" # Do not remove this line because it is used for hide the production key from the ci/cd console
+            npx dotenv-vault local decrypt "${DOTENV_PROD_KEY}" > ../.env
+
         # Deploy
+        - cd ../../
         - ./infra --run
-    only:
-        - main
\ No newline at end of file
+    rules:
+        - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
\ No newline at end of file