HyperPKPD version 0.0.0.12

Author, License and Citation

Who wrote the program, how to cite it, and the license it is shared under: use it, cite it, but do not change it without permission.

1. Author

Pharmacometrics Data Obfuscator (the program data-obfuscator) was written by Obinna (Obi) Obianom, Senior Principal Scientist.

Author card: Obinna (Obi) Obianom, Senior Principal Scientist, with website, LinkedIn and Google Scholar
Figure 3.2.1. The author and where to find him.
Where Address
Website https://obianom.com
LinkedIn https://www.linkedin.com/in/oobianom
Google Scholar https://scholar.google.com/citations?user=PcvZPUQAAAAJ&hl=en

The program grew out of a practical need in Clinical Pharmacology and Pharmacometrics: getting help from large language models on real PK/PD datasets, without handing over the identities in them and without damaging the structure that NONMEM modelling depends on. It is built around that need: protect the pharmacology, mask what identifies, keep a private key so the masking can be undone, and be honest about what could still be risky.

2. What the program is for

  • Audience: clinical pharmacologists, pharmacometricians and data scientists.
  • Typical uses: exploratory analysis, writing and reviewing NONMEM control streams, data quality control, combining ADaM domains (such as PC and LB) into a NONMEM-style master dataset, and sharing data with collaborators.
  • Design principles: the PK/PD structure is never altered; the same input, options and seed always give the same output; nothing leaves your computer; the key stays with you; limits are stated, not hidden.

3. Technology

  • Written in Rust, as one self-contained, offline command-line program.
  • Reads and writes CSV, TSV, semicolon and whitespace-delimited NONMEM files.
  • Deterministic random numbers (ChaCha20) seeded by the seed option, so runs are repeatable and auditable.
  • Fingerprints (SHA-256) tie each key file to the masked dataset it belongs to.
  • Four-part automatic versioning, a test suite that covers every masking level and the reverse commands, and example datasets and configs that double as tests.

4. How to cite

If the program or these pages helped your work, please cite them. The citation below follows the MLA style (9th edition) for software.

Works Cited entry

Obianom, Obinna. Pharmacometrics Data Obfuscator. Version 0.0.0.23, 13 Oct. 2026, obianom.com.

In-text citation

(Obianom)

To copy: select the box below, paste it into your document and set the title in italics (the asterisks mark the italics).

Obianom, Obinna. *Pharmacometrics Data Obfuscator*. Version 0.0.0.23, 13 Oct. 2026, obianom.com.

Notes for a precise citation:

  • Version. Replace 0.0.0.23 with the version you used. data-obfuscator --version prints it, and so does the header of every key and log file the program wrote. For a masked dataset, summary.txt also holds the SHA-256 fingerprint of the result, which lets a reader check exactly which file was meant.
  • Date. Use the release date of the version you cite (the line for that version in versions.log) or the date you accessed the program, whichever your journal asks for.
  • A page of this documentation. Cite the program as above and name the page in the text of your paper (for example, "see the Masking Levels page of the documentation").

5. License

The program and its documentation are shared under the Creative Commons Attribution-NoDerivatives 4.0 International license (CC BY-ND 4.0, SPDX identifier CC-BY-ND-4.0). In plain words: you can use the work and cite it, but you may not alter it and share the result without permission.

What the license lets you do, what it asks of you, and what needs permission
Figure 3.2.2. The license in one picture.
You may run the program for any purpose, including commercial work; copy it and pass the unmodified program on to others; quote it, link to it and cite it; change your own copy for your own private use.
You must give credit (use the citation above), link to the license and keep the license notice with every copy you share.
Not without permission share a changed, extended or re-packaged version of the program, its figures or these pages, or publish the work under another name or without credit. To ask, write through the website or LinkedIn address in section 1.
Your data the license covers the program and its documentation. The datasets you mask, and the masked files and keys the program writes for you, belong to you.

The full legal text is at https://creativecommons.org/licenses/by-nd/4.0/legalcode, and a readable summary is at https://creativecommons.org/licenses/by-nd/4.0/. The program is provided as it is, without warranty of any kind.

Why not the GPL?

The GNU General Public License (GPL) is a well-known and respected license, but it does the opposite of what is wanted here: it guarantees everyone the right to modify the program and to share the modified versions. A license that lets people use and cite the work but not alter it has to forbid derivative works, and no open-source license of the GPL, MIT or Apache family does that. CC BY-ND is a widely understood license with exactly that rule.

One honest caveat: Creative Commons recommends its licenses mainly for text, images and other creative works, and not for software, because they do not deal with source code and patents in the way software licenses do. For a tool that is shared as a finished program together with its documentation, CC BY-ND states the intended rule clearly. If the program is ever to be sold or distributed at scale, a short license written by a lawyer would be the sturdier choice.

6. Responsible use

Masking lowers the risk of re-identification but is not formal anonymisation. Before sharing any dataset outside your organisation:

  1. read every warning the run printed and summary.txt;
  2. check that the masked dataset contains nothing you did not intend to share;
  3. share only the masked dataset and llm.txt (or, for run2, the *_masked files and llm2.txt);
  4. keep keymap.txt, keymap_columns.txt, keymap2.txt, summary.txt, config.used.txt and the logs private, because they reveal the real values, the seed and the date shift;
  5. follow your organisation's data-protection and information-security rules. This program does not replace them.

7. More information

Where What
README.md Complete user guide: the problem, the levels, every command and output file, privacy limits, troubleshooting.
CONFIGS.md Every option with examples, from the shortest command to a full options file.
examples/ Example datasets, ready-made configs, QC datasets with an answer key, and ADaM-style files for run2.
CHANGELOG.md What changed in each version.
LICENSE The license notice that travels with every copy.