{
  "_id": "6ad1d82f29625c14e47aeb6a",
  "Package": "masque",
  "Title": "Structurally Faithful Development Surrogates for Tabular Data",
  "Version": "0.14.1.9000",
  "Authors@R": "c(\nperson(\"Max\", \"Moldovan\",\nemail = \"max.moldovan@gmail.com\",\nrole  = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-9680-8474\",\naffiliation = \"Adelaide University\"))\n)",
  "Description": "Turns a confidential tabular dataset - a single table, a\nfolder of files, or a multi-sheet workbook - into a\nstructurally faithful synthetic clone suitable for pipeline\ndevelopment. Experimental-design allocation and the NA pattern\nare preserved exactly; categorical design, treatment, and\ncovariate vocabularies can be reversibly aliased; outcome and\nnumeric-covariate values are re-simulated via a Gaussian copula\nthat preserves the global covariance structure. Columns shared\nacross tables are aliased consistently so the synthetic tables\nstill join. A private 'recipe' object round-trips a pipeline\nwritten against the synthetic clone onto the original data. Not\na differential-privacy or anonymisation tool: outputs are\ndevelopment surrogates, not public-release-safe artefacts.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-AU",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://max578.github.io/masque/, https://github.com/max578/masque",
  "BugReports": "https://github.com/max578/masque/issues",
  "Config/roxygen2/version": "8.1.0",
  "Repository": "https://max578.r-universe.dev",
  "Date/Publication": "2026-10-16 01:03:08 UTC",
  "RemoteUrl": "https://github.com/max578/masque",
  "RemoteRef": "main",
  "RemoteSha": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-16 07:27:33 UTC",
    "User": "root"
  },
  "Author": "Max Moldovan [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-9680-8474>, affiliation: Adelaide\nUniversity)",
  "Maintainer": "Max Moldovan <max.moldovan@gmail.com>",
  "_user": "max578",
  "_type": "src",
  "_file": "masque_0.14.1.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/654db1f6b30349fbc47f43651b0ac1113bb2e657968166efb60c134c587f84cb",
  "_filesize": 1036363,
  "_sha256": "654db1f6b30349fbc47f43651b0ac1113bb2e657968166efb60c134c587f84cb",
  "_expires": "2027-01-24T07:54:20.000Z",
  "_created": "2026-10-16T07:27:33.000Z",
  "_published": "2026-10-16T07:54:23.086Z",
  "_buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 116863233904,
      "time": 140,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12032006622"
    },
    {
      "job": 116863234063,
      "time": 157,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12032061524"
    },
    {
      "job": 116863233988,
      "time": 107,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12032770987"
    },
    {
      "job": 116863234053,
      "time": 131,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12032434458"
    },
    {
      "job": 116861935344,
      "time": 231,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12031542556"
    },
    {
      "job": 116863233814,
      "time": 125,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12031552823"
    },
    {
      "job": 116863234088,
      "time": 150,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12031733222"
    },
    {
      "job": 116863234100,
      "time": 140,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12032225658"
    },
    {
      "job": 116863234122,
      "time": 140,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12031443176"
    }
  ],
  "_upstream": "https://github.com/max578/masque",
  "_commit": {
    "id": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
    "author": "Max Moldovan <max.moldovan@gmail.com>",
    "committer": "Max Moldovan <max.moldovan@gmail.com>",
    "message": "docs: CITATION.cff version matches DESCRIPTION\n",
    "time": 1792112588
  },
  "_maintainer": {
    "name": "Max Moldovan",
    "email": "max.moldovan@gmail.com",
    "login": "max578",
    "orcid": "0000-0001-9680-8474",
    "description": "Research scientist, R&D translation professional, woking on practical impact applications in agriculture, healthcare/madicine and good-practices-AI education.",
    "uuid": 35710829
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "agridat",
      "role": "Suggests"
    },
    {
      "package": "callr",
      "role": "Suggests"
    },
    {
      "package": "fst",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "maps",
      "role": "Suggests"
    },
    {
      "package": "readxl",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "writexl",
      "role": "Suggests"
    }
  ],
  "_owner": "max578",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-20",
      "n": 17
    },
    {
      "week": "2026-21",
      "n": 4
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-24",
      "n": 5
    },
    {
      "week": "2026-28",
      "n": 1
    },
    {
      "week": "2026-29",
      "n": 7
    },
    {
      "week": "2026-30",
      "n": 7
    },
    {
      "week": "2026-35",
      "n": 5
    },
    {
      "week": "2026-36",
      "n": 3
    },
    {
      "week": "2026-37",
      "n": 2
    },
    {
      "week": "2026-39",
      "n": 25
    },
    {
      "week": "2026-41",
      "n": 7
    },
    {
      "week": "2026-42",
      "n": 4
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2026-05-16"
    },
    {
      "name": "v0.3.0",
      "date": "2026-05-17"
    },
    {
      "name": "v0.4.0",
      "date": "2026-05-17"
    },
    {
      "name": "v0.4.1",
      "date": "2026-05-18"
    },
    {
      "name": "v0.5.0",
      "date": "2026-06-10"
    },
    {
      "name": "v0.6.0",
      "date": "2026-06-10"
    },
    {
      "name": "v0.7.0",
      "date": "2026-06-13"
    },
    {
      "name": "v0.7.1",
      "date": "2026-06-13"
    },
    {
      "name": "v0.8.0",
      "date": "2026-07-13"
    },
    {
      "name": "v0.8.1",
      "date": "2026-07-13"
    },
    {
      "name": "v0.8.2",
      "date": "2026-07-13"
    },
    {
      "name": "v0.9.2",
      "date": "2026-07-23"
    },
    {
      "name": "v0.10.0",
      "date": "2026-08-24"
    },
    {
      "name": "v0.11.0",
      "date": "2026-08-24"
    },
    {
      "name": "v0.12.0",
      "date": "2026-09-05"
    },
    {
      "name": "v0.13.0",
      "date": "2026-09-25"
    },
    {
      "name": "v0.14.0",
      "date": "2026-09-26"
    },
    {
      "name": "v0.14.1",
      "date": "2026-10-09"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "max578",
      "count": 114,
      "uuid": 35710829
    }
  ],
  "_userbio": {
    "uuid": 35710829,
    "type": "user",
    "name": "Max Moldovan",
    "followers": 2,
    "description": "Research scientist, R&D translation professional, woking on practical impact applications in agriculture, healthcare/madicine and good-practices-AI education."
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/masque"
  },
  "_devurl": "https://github.com/max578/masque",
  "_pkgdown": "https://max578.github.io/masque/",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/masque.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "apply_recipe",
    "audit_mask",
    "clean_table",
    "conform_table",
    "detect_design",
    "jitter_coordinates",
    "mask",
    "mask_set",
    "masque",
    "plot_design_summary",
    "propose_roles",
    "read_recipe",
    "read_set",
    "recipe",
    "reveal_maps",
    "role_options",
    "roles_validate",
    "save_recipe",
    "set_role",
    "synthesise_geospatial",
    "synthetic",
    "unmask",
    "write_set"
  ],
  "_help": [
    {
      "page": "apply_recipe",
      "title": "Translate a data frame into the synthetic namespace",
      "topics": [
        "apply_recipe"
      ]
    },
    {
      "page": "audit_mask",
      "title": "Audit a masque object for leakage and shareability risks",
      "topics": [
        "audit_mask"
      ]
    },
    {
      "page": "clean_table",
      "title": "Tidy a dirty table's column names and category labels before masking",
      "topics": [
        "clean_table"
      ]
    },
    {
      "page": "conform_table",
      "title": "Bring a cleaned table to an analysable format, reporting every assumption",
      "topics": [
        "conform_table"
      ]
    },
    {
      "page": "detect_design",
      "title": "Detect environment scope and experimental-design structure",
      "topics": [
        "detect_design"
      ]
    },
    {
      "page": "jitter_coordinates",
      "title": "Coarsen geographic coordinates by an on-land privacy jitter",
      "topics": [
        "jitter_coordinates"
      ]
    },
    {
      "page": "mask",
      "title": "Mask a tabular dataset into a structurally faithful development surrogate",
      "topics": [
        "mask"
      ]
    },
    {
      "page": "mask_set",
      "title": "Mask a multi-table set with cross-table-consistent aliasing",
      "topics": [
        "mask_set"
      ]
    },
    {
      "page": "masque",
      "title": "Mask a dataset end to end with one guided call",
      "topics": [
        "masque"
      ]
    },
    {
      "page": "plot_design_summary",
      "title": "Sanity-check visualisation for detected scope and design",
      "topics": [
        "plot_design_summary"
      ]
    },
    {
      "page": "propose_roles",
      "title": "Propose role and action classifications for the columns of a data frame",
      "topics": [
        "propose_roles"
      ]
    },
    {
      "page": "read_recipe",
      "title": "Read a masque recipe from disk",
      "topics": [
        "read_recipe"
      ]
    },
    {
      "page": "read_set",
      "title": "Read a set of tables from a folder, an Excel workbook, or a list",
      "topics": [
        "read_set"
      ]
    },
    {
      "page": "recipe",
      "title": "Extract the recipe from a masque object",
      "topics": [
        "recipe"
      ]
    },
    {
      "page": "reveal_maps",
      "title": "Reveal the level maps held inside a recipe",
      "topics": [
        "reveal_maps"
      ]
    },
    {
      "page": "role_options",
      "title": "List every role and action combination masque accepts",
      "topics": [
        "role_options"
      ]
    },
    {
      "page": "roles_validate",
      "title": "Validate a roles table",
      "topics": [
        "roles_validate"
      ]
    },
    {
      "page": "save_recipe",
      "title": "Save a masque recipe to disk",
      "topics": [
        "save_recipe"
      ]
    },
    {
      "page": "set_role",
      "title": "Set the role and action of one or more columns in a roles table",
      "topics": [
        "set_role"
      ]
    },
    {
      "page": "synthesise_geospatial",
      "title": "Re-anchor synthetic geospatial coordinates at plausible-but-fake locations",
      "topics": [
        "synthesise_geospatial"
      ]
    },
    {
      "page": "synthetic",
      "title": "Extract the synthetic data from a masque object",
      "topics": [
        "synthetic"
      ]
    },
    {
      "page": "unmask",
      "title": "Translate data from the synthetic namespace back to the original",
      "topics": [
        "unmask"
      ]
    },
    {
      "page": "write_set",
      "title": "Write a masked set to disk, mirroring the input format",
      "topics": [
        "write_set"
      ]
    }
  ],
  "_pkglogo": "https://github.com/max578/masque/raw/main/man/figures/logo.png",
  "_readme": "https://github.com/max578/masque/raw/main/README.md",
  "_rundeps": [
    "cli",
    "data.table",
    "digest",
    "lattice",
    "Matrix",
    "S7",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "confidentiality.Rmd",
      "filename": "confidentiality.html",
      "title": "Confidentiality and the threat model",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why",
        "What",
        "Example",
        "Depth controls: hiding design structure",
        "The conditional clone: preserving the treatment effect",
        "Figure: the effect on each clone",
        "What the copula carries: monotone, not non-monotone, association",
        "The leakage audit, and a refused write",
        "Multi-table sets",
        "Geographic coordinates",
        "Results",
        "Limits",
        "What to read next",
        "Reproduce",
        "References"
      ],
      "created": "2026-05-16 10:35:56",
      "modified": "2026-10-07 05:02:18",
      "commits": 16
    },
    {
      "source": "getting_started.Rmd",
      "filename": "getting_started.html",
      "title": "Getting started with masque",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why",
        "What",
        "Example",
        "The one-call path",
        "The masking plan: roles and actions",
        "Editing the plan as code",
        "A plan the package refuses",
        "More than one table",
        "Multi-environment structure",
        "Figure: the multi-environment coverage plot",
        "Results",
        "Limits",
        "What to read next",
        "Reproduce"
      ],
      "created": "2026-05-16 08:35:00",
      "modified": "2026-10-15 20:40:46",
      "commits": 17
    },
    {
      "source": "recipe_anatomy.Rmd",
      "filename": "recipe_anatomy.html",
      "title": "Recipe anatomy and the round-trip",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why",
        "What",
        "Example",
        "What a recipe holds",
        "Printing is redacted",
        "The round-trip",
        "Fail-closed translation",
        "Saving the recipe",
        "Multi-table bundles",
        "Figure: the clone the analyst actually develops against",
        "Results",
        "Limits",
        "What to read next",
        "Reproduce"
      ],
      "created": "2026-05-16 10:35:56",
      "modified": "2026-10-07 05:02:18",
      "commits": 13
    },
    {
      "source": "design_preservation.Rmd",
      "filename": "design_preservation.html",
      "title": "What a conditional clone keeps of the design",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why",
        "What",
        "The pass rule",
        "Example",
        "The eight designs",
        "Masking and measuring",
        "The table",
        "Figure: the F statistic per term, clone against original",
        "Results",
        "Limits",
        "What to read next",
        "Reproduce"
      ],
      "created": "2026-09-25 14:14:08",
      "modified": "2026-10-07 05:02:18",
      "commits": 4
    }
  ],
  "_score": 4.414973347970818,
  "_indexed": true,
  "_nocasepkg": "masque",
  "_universes": [
    "max578"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:29:33.000Z",
      "distro": "resolute",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/fe7185a726f87f76c4c323d896df9d90b281499da7df6b96887382c200e4efbb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:29:33.000Z",
      "distro": "resolute",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/f6540a4642cf52216497909f131947d44c1e61c5c113e6df9b25637afb7dc373",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:49:07.000Z",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/e19dff6ce79ed1985e6ac6fd8c77356ea36178379f9d7af424bf03f490ee04bd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:52:59.000Z",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/2b5b0e4a405a818cd678e45171ca6816ad6a8962cac7e813b053c0acb56ca628",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:30:00.000Z",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/09e9c828db2bf3f85ac3e6f10d161c34a07d222fc040a71c9f6cc48814b39ed9",
      "status": "success",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:29:00.000Z",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/bba952407c7c3d5a5723df5e8576ceb6f2bf77305e155a871e4daf88d8272c85",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:28:55.000Z",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/cab13ec47fe82c401e313615253e7e96a40eeef93b7d6c38792aa130381526eb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.14.1.9000",
      "date": "2026-10-16T07:28:51.000Z",
      "commit": "099748966cbde955aecf5bcefcbfbaf86f6a50ea",
      "fileid": "https://r2.ropensci.org/c97a05b25d14d89e87a4110cbd359ac67b2fb5ed8e18d72cbf44978f06e7dde2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/max578/actions/runs/38866933647"
    }
  ]
}