#69599·salt

[Bug]: pillar masking in 3008 breaks the world

Author: papegaaijCreated Jun 29, 2026Updated Sep 10, 2026
Labelsbug

What happened?

In 3008 a new feature as introduced: masking of pillar data. This breaks everything. On every call site to pillar.get, pillar.item or pillar.items, I now have to include unmask=True. Also, to not break compatibility with 3007, this parameter must only be added if on 3008. There's literally not a single call site where I can omit unmask=True, because if I need to read the pillar, I need to read the pillar. Just in our application alone, this amounts to almost 100 call sites and I've spoken to our infra team, and they think this can go into the hundreds for them. IMHO this pillar masking should not be enabled by default when calling these execution modules (either via salt-call or from another execution module). If some script or tool needs to read the data, returning ****** is no good and will for sure break that script.

Also, the fact that only string values are obfuscated seems completely arbitrary. Numbers and even booleans can also contain sensitive data. For example, someone could store an RSA key by representing p and q as numbers.

Please disable this pillar masking for manual invocations of an execution module by default or at least allow it to be disabled globally.

Type of salt install

Official rpm

Major version

3008.x

What supported OS are you seeing the problem on? Can select multiple. (If bug appears on an unsupported OS, please open a GitHub Discussion instead)

almalinux-9

salt --versions-report output

bash
# salt --versions-report
Salt Version:
          Salt: 3008.1
 
Python Version:
        Python: 3.14.6 (main, Jun 11 2026, 02:19:05) [GCC 11.2.0]
 
Dependency Versions:
          cffi: 2.0.0
      cherrypy: 18.10.0
  cryptography: 48.0.0
      dateutil: 2.9.0.post0
     docker-py: Not Installed
         gitdb: 4.0.12
     gitpython: Not Installed
        Jinja2: 3.1.6
       libgit2: Not Installed
  looseversion: 1.3.0
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.1.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     packaging: 24.0
     pycparser: 3.00
      pycrypto: Not Installed
  pycryptodome: 3.23.0
        pygit2: Not Installed
  python-gnupg: 0.5.6
        PyYAML: 6.0.3
         PyZMQ: 27.1.0
        relenv: 0.22.14
         smmap: 5.0.2
       timelib: 0.3.0
       Tornado: 6.5.7
           ZMQ: 4.3.5
 
Salt Package Information:
  Package Type: onedir
 
System Versions:
          dist: almalinux 9.8 Olive Jaguar
        locale: utf-8
       machine: x86_64
       release: 7.0.0-27-generic
        system: Linux
       version: AlmaLinux 9.8 Olive Jaguar