Skip to Content
Yewodocs
Configure

Use a password in a journey

Give Yewo a test account password without writing it into your report or your repository.

A sign-in journey needs a real password. Declare the value as a secret. Yewo then replaces it with a mask in the text it stores, and in the text it sends to a model. Read step 4 for the one place a secret can still appear.

1. Put the value in .env

You commit yewo.yaml, so a real password must not live there. Put it in .env, which Yewo loads at startup. Keep .env out of version control:

.env
TEST_ACCOUNT_PASSWORD=the-real-password

2. Declare it in yewo.yaml

Read the value with ${...}, then name it under secrets:

yewo.yaml
env:
  email: qa@example.com
  password: ${TEST_ACCOUNT_PASSWORD}

secrets:
  - password

Yewo stops before the run if TEST_ACCOUNT_PASSWORD is unset or empty, and the error names the variable.

3. Use it in the journey

Reference a declared value with {{ ... }}:

yewo.yaml
workflows:
  smoke:
    journeys:
      - id: sign_in
        name: Sign in
        journey: |
          Open the app. Sign in as {{ email }} with the password {{ password }}.
          Then open Settings.

Yewo also stops before the run if your journey text references a value you did not declare.

4. Check the report

Yewo types the real password into the app. Everywhere else it writes the masked form:

  • Stored model calls show the mask, not the value.
  • Yewo removes the value from captured device logs.

You cannot turn this off. allow_secret_exposure: true stops the run.

email is not in the secrets list, so it appears as written. Declare every value you do not want to read in a report.

Screenshots are not masked. Text masking does not cover pixels. A secret that is visible on screen stays visible in the screenshot Yewo saves. It also stays visible in the image Yewo sends to the model. Rely on the app to hide the value, as a password field does. Treat any screen that shows a secret in plain text as exposed.

Show the last four characters

Some screens show part of a value, such as a card number. A masked value then hides the part you need to check. Set redaction: last4 on that value:

yewo.yaml
env:
  card_number:
    value: ${TEST_CARD_NUMBER}
    secret: true
    redaction: last4

The report shows the last four characters and hides the rest. The default, redaction: hide, hides the whole value.

Stop Yewo from entering a value

To declare a value that Yewo must never type, mark it as refused:

yewo.yaml
env:
  admin_password:
    value: ${ADMIN_PASSWORD}
    secret: true
    refused: true

On this page