Creating this ticket so I can remove a TODO from code.
Poison.encode(keys: :atoms) is potentially unsafe for open ended structures such as metadata and substitution_data, as atoms are not garbage collected and are a definite (albeit often slow) memory leak. Substitution data and metadata should be decoded into a string keys map.