diff --git a/Dockerfile b/Dockerfile
index 848d6f9..64e7e13 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -34,11 +34,14 @@ LABEL \
 #-----------------------------------------------------------------------------
 # Copy artefacts & make the wrapper executable
 #-----------------------------------------------------------------------------
-COPY build.sh /usr/local/bin/build.sh
+COPY --chmod=0755 build.sh /bin/build.sh
 COPY LICENSE  /LICENSE
-RUN chmod +x /usr/local/bin/build.sh
+RUN chmod +x /bin/build.sh
+
+# Drop root privileges (UID 1000 exists in the base image)
+USER 0
 
 #-----------------------------------------------------------------------------
 # Runtime entrypoint
 #-----------------------------------------------------------------------------
-ENTRYPOINT ["/usr/local/bin/build.sh"]
+ENTRYPOINT ["/bin/build.sh"]
diff --git a/README.md b/README.md
index c31fdab..f9e8ebf 100644
--- a/README.md
+++ b/README.md
@@ -47,15 +47,15 @@ jobs:
         env:
           # --- mandatory --------------------------------------------------------
           KANIKO_CONTEXT: git://git.van-hemmen.com/actions/kaniko.git
-          GITHUB_REF_NAME: ${{ github.ref_name }}
-          GIT_USERNAME:    ${{ secrets.GIT_USERNAME }}
-          GIT_PASSWORD:    ${{ secrets.GIT_PASSWORD }}
+          GIT_REF_NAME:    ${{ github.ref_name }}
+          GIT_USERNAME:    ${{ secrets.docker_username }}
+          GIT_PASSWORD:    ${{ secrets.access_token }}
     
           # --- optional (only needed when you plan to push) ---------------------
           REGISTRY_HOST:   ghcr.io
-          REGISTRY_USER:   ${{ secrets.REGISTRY_USER }}
-          REGISTRY_PASS:   ${{ secrets.REGISTRY_PASS }}
-          KANIKO_DESTINATION: ghcr.io/myorg/myapp:${{ github.sha }}
+          REGISTRY_USER:   ${{ secrets.docker_username }}
+          REGISTRY_PASS:   ${{ secrets.access_token }}
+          KANIKO_DESTINATION: git.van-hemmen.com/myorg/myapp:${GITHUB_SHA}
     
           # --- fine-tuning ------------------------------------------------------
           KANIKO_DOCKERFILE: ./Dockerfile
@@ -68,7 +68,7 @@ jobs:
 | Variable | Required | Purpose | Example value                                                  |
 |----------|----------|---------|----------------------------------------------------------------|
 | `KANIKO_CONTEXT`  | **Yes** | Build context (`git://`). | `git://git.van-hemmen.com/actions/kaniko.git`                  |
-| `GITHUB_REF_NAME` | **Yes** | Branch or tag that is being built. | `${{ github.ref_name }}`                                                       |
+| `GIT_REF_NAME` | **Yes** | Branch or tag that is being built. | `${{ github.ref_name }}`                                                       |
 | `GIT_USERNAME`    | **Yes** | Username with access to `KANIKO_CONTEXT` when it is private. | `${{ secrets.GIT_USERNAME }}`                                  |
 | `GIT_PASSWORD`    | **Yes** | Token/password paired with `GIT_USERNAME`. | `${{ secrets.GIT_PASSWORD }}`                                  |
 | `REGISTRY_HOST`   | No (default `git.van-hemmen.com`) | Target registry hostname. | `ghcr.io`                                                      |
diff --git a/build.sh b/build.sh
index aa80200..ef16afb 100644
--- a/build.sh
+++ b/build.sh
@@ -1,28 +1,17 @@
-#!/usr/bin/env bash
-set -euo pipefail
+#!/bin/sh
+# BusyBox/dash-friendly: no “pipefail”, no “[[ … ]]”, no “+=”
+
+set -eu   # BusyBox ash does not support “pipefail”
 
 ###############################################################################
 # Mandatory variables – abort if not provided
 ###############################################################################
-if [[ -z "${KANIKO_CONTEXT:-}" ]]; then
-  echo "Error: KANIKO_CONTEXT environment variable is required but not set." >&2
-  exit 1
-fi
-
-if [[ -z "${GITHUB_REF_NAME:-}" ]]; then
-  echo "Error: GITHUB_REF_NAME environment variable is required but not set." >&2
-  exit 1
-fi
-
-if [[ -z "${GIT_USERNAME:-}" ]]; then
-  echo "Error: GIT_USERNAME environment variable is required but not set." >&2
-  exit 1
-fi
-
-if [[ -z "${GIT_PASSWORD:-}" ]]; then
-  echo "Error: GIT_PASSWORD environment variable is required but not set." >&2
-  exit 1
-fi
+for var in KANIKO_CONTEXT GIT_REF_NAME GIT_USERNAME GIT_PASSWORD; do
+  eval [ -z \"\${$var:-}\" ] && {
+    echo "Error: $var environment variable is required but not set." >&2
+    exit 1
+  }
+done
 
 ###############################################################################
 # Optional / defaulted variables
@@ -39,7 +28,7 @@ KANIKO_DOCKERFILE="${KANIKO_DOCKERFILE:-./Dockerfile}"
 # Handle registry authentication (only if credentials are present)
 ###############################################################################
 AUTH_ENABLED=false
-if [[ -n "${REGISTRY_USER}" && -n "${REGISTRY_PASS}" ]]; then
+if [ -n "${REGISTRY_USER}" ] && [ -n "${REGISTRY_PASS}" ]; then
   echo "Registry credentials supplied – configuring authentication for ${REGISTRY_HOST}"
   mkdir -p /kaniko/.docker
   cat > /kaniko/.docker/config.json <<EOF
@@ -62,35 +51,51 @@ fi
 ###############################################################################
 DEST_FLAGS=""
 
-# Push is only possible if we have BOTH credentials and at least one destination
-if $AUTH_ENABLED && [[ -n "${KANIKO_DESTINATION// }" ]]; then
+if $AUTH_ENABLED && [ -n "${KANIKO_DESTINATION## }" ]; then
   echo "Building list of --destination flags"
-  OLD_IFS="$IFS"; IFS=','
-
+  old_ifs="$IFS"; IFS=','
   for raw in $KANIKO_DESTINATION; do
-    raw="$(echo "$raw" | xargs)"           # trim whitespace
-    expanded="$(eval echo "$raw")"         # expand variables
-    [[ -n "$expanded" ]] && DEST_FLAGS+=" --destination=${expanded}"
+    raw=$(echo "$raw" | xargs)            # trim
+    expanded=$(eval echo "$raw")          # env-var expansion if any
+    [ -n "$expanded" ] && DEST_FLAGS="$DEST_FLAGS --destination=$expanded"
   done
-
-  IFS="$OLD_IFS"
+  IFS="$old_ifs"
   echo "Image(s) will be pushed to the registry."
 else
   DEST_FLAGS="--no-push"
-  if ! $AUTH_ENABLED; then
-    echo "Image(s) will NOT be pushed because registry credentials are missing."
-  elif [[ -z "${KANIKO_DESTINATION// }" ]]; then
-    echo "KANIKO_DESTINATION not provided – image(s) will be built with --no-push."
-  fi
+  $AUTH_ENABLED  || echo "Registry credentials are missing – image(s) will not be pushed."
+  [ -n "${KANIKO_DESTINATION## }" ] || echo "KANIKO_DESTINATION not provided – using --no-push."
 fi
 
-echo "Kaniko will be called with: ${DEST_FLAGS}"
+echo "Kaniko will be called with:${DEST_FLAGS}"
+
+###############################################################################
+# resume what will be done
+###############################################################################
+echo "Environment Variables:"
+echo "KANIKO_CONTEXT=${KANIKO_CONTEXT}"
+echo "GIT_REF_NAME=${GIT_REF_NAME}"
+echo "GIT_USERNAME=${GIT_USERNAME}"
+echo "GIT_PASSWORD=$(echo "${GIT_PASSWORD}" | sed 's/\(^..\).*\(..$\)/\1...\2/')"
+echo "REGISTRY_HOST=${REGISTRY_HOST}"
+echo "REGISTRY_USER=${REGISTRY_USER}"
+[ -n "${REGISTRY_PASS}" ] && echo "REGISTRY_PASS=$(echo "${REGISTRY_PASS}" | sed 's/\(^..\).*\(..$\)/\1...\2/')"
+echo "KANIKO_DESTINATION=${KANIKO_DESTINATION}"
+echo "KANIKO_VERBOSITY=${KANIKO_VERBOSITY}"
+echo "KANIKO_DOCKERFILE=${KANIKO_DOCKERFILE}"
+echo ""
+if [ "${DEST_FLAGS}" = "--no-push" ]; then
+  echo "Action: Build only (no push)"
+else
+  echo "Action: Build and push"
+fi
+echo ""
 
 ###############################################################################
 # Invoke Kaniko
 ###############################################################################
-/kaniko/executor \
+exec /kaniko/executor \
   --verbosity="${KANIKO_VERBOSITY}" \
-  --context="${KANIKO_CONTEXT}#${GITHUB_REF_NAME}" \
+  --context="${KANIKO_CONTEXT}#${GIT_REF_NAME}" \
   --dockerfile="${KANIKO_DOCKERFILE}" \
-  ${DEST_FLAGS}
+  $DEST_FLAGS