synthtraffic Get started
Docs menu

Reference

Faker data

Synthtraffic generates semantic fake data from immutable, bundled locale packs. It does not download data, call external services, or run a JavaScript or Java Faker at runtime.

Configure one locale for the scenario:

defaults:
  faker:
    locale: en_AU

Locales

Supported locale values are en_US (the default), en_IN, en_AU, and en_GB. Locale selection is scenario-wide; generator and individual-call overrides are not supported in V1.

If a future locale lacks data for an otherwise supported path, Synthtraffic falls back to en_US.

Supported paths

  • person — an object with matching firstName, lastName, fullName, and email
  • person.firstName
  • person.lastName
  • person.middleName
  • person.fullName
  • person.email
  • internet.email
  • phone.number
  • address.city
  • address.state
  • address.country
  • company.name
  • commerce.productName
  • commerce.productDescription

Provider paths must be literals, for example =faker(person) or =faker(person.fullName). An unknown path or locale is a compile error (ST diagnostic) on sample or run.

Coherence

Use =faker(person) when name and email must describe one person:

vars:
  person: =faker(person)
value:
  name: $person.fullName
  firstName: $person.firstName
  lastName: $person.lastName
  email: $person.email

The object fields are firstName, lastName, fullName (firstName + space + lastName), and email derived from those names. person.fullName alone also builds firstName + space + lastName in one draw.

person.email and internet.email are aliases for the same leaf email recipe. Leaf calls are independent of other leaf name draws, so prefer $person.email from =faker(person) when the address must match that person’s names.

Address locality calls are still independent in V1: faker(address.city) and faker(address.state) may not describe the same location.

Determinism

Faker values use Synthtraffic’s identity-derived random streams: a fixed scenario seed, locale, generator, instance, event ordinal, and expression identity produce repeatable output. now() remains dependent on the scenario clock.

The generated values are synthetic and must not be treated as real people, deliverable email addresses, or reachable phone numbers.