Auth & Credentials
By default, Subtrace redacts all known authorization credentials from every request. To change this behaviour, set the authCredentials field in your config YAML file. Here’s an example:
# The default value is "redact". By setting this field's value to "keep", we're
# overriding the behavior so that Subtrace keeps all credentials unmodified.
authCredentials: "keep"
# ...the rest of your config
tags:
service: foo
To use the config file, set the --config command line flag when starting Subtrace:
subtrace run --config=/path/to/subtrace.yaml -- node app.js
This option affects the following HTTP headers across all requests:
Cookieheader on the requestSet-Cookieheader on the responseAuthorizationheader on the response
The following values are allowed:
redactwill redact the auth credential completely (default).hashwill replace the value with a SHA256 hash of the original value (see below).keepwill trace the full auth credential string in cleartext (NOT recommended).
Using `authCredentials: "hash"
The authCredentials: "hash" allows you to cross-match credentials across different requests safely without storing raw auth credentials in cleartext. For example, let’s say a client makes an API call with following request header:
Authorization: Bearer my-secret-api-key-1234
Setting authCredentials: "hash" will hash the value when the request is traced:
Authorization: <redacted:sha256:a4281572876fbe0eb4780386c435bd8be7bc36136a98e90a68a0af3837f27483>
Two requests using the same Authorization header will have the same redacted hash. If you know the original API key, you can also compute the hash yourself using the sha256sum command:
$ echo -n "Bearer my-secret-api-key-1234" | sha256sum
a4281572876fbe0eb4780386c435bd8be7bc36136a98e90a68a0af3837f27483 -