{
  "_id": "6a5f884b14e95619b75d695d",
  "Package": "dataganger",
  "Title": "Synthetic Data Doubles for Safer Prototyping",
  "Version": "0.6.1",
  "Authors@R": "person(\"Lennon\", \"Li\",\nemail = \"yeli@biostats.ai\",\nrole = c(\"aut\", \"cre\"))",
  "Author": "Lennon Li [aut, cre]",
  "Maintainer": "Lennon Li <yeli@biostats.ai>",
  "Description": "Creates synthetic data doubles from real datasets for\nprototyping, teaching, 'shiny' development, and AI-assisted\nprogramming. Provides data profiling, role detection,\nconfigurable synthesis, utility comparison, and disclosure-risk\nwarnings. Synthetic outputs are intended to reduce direct\ndisclosure risk, not to guarantee privacy.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Config/testthat/edition": "3",
  "URL": "https://dataganger.biostats.ai/,\nhttps://github.com/lennon-li/dataganger",
  "BugReports": "https://github.com/lennon-li/dataganger/issues",
  "Config/roxygen2/version": "8.0.0",
  "RoxygenNote": "8.0.0",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-21 14:49:44 UTC",
    "User": "root"
  },
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-21 11:00:19 UTC",
  "RemoteUrl": "https://github.com/cran/dataganger",
  "RemoteRef": "HEAD",
  "RemoteSha": "208f22cef8aeb507791d825656b7aa6a2c4e4d74",
  "_user": "cran",
  "_type": "src",
  "_file": "dataganger_0.6.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/de59a36235d357c730c8570fe63637a1f25eb6aaa88dbec3d550a03c837ce9fc",
  "_filesize": 2284197,
  "_sha256": "de59a36235d357c730c8570fe63637a1f25eb6aaa88dbec3d550a03c837ce9fc",
  "_expires": "2026-10-29T14:55:04.000Z",
  "_created": "2026-07-21T14:49:44.000Z",
  "_published": "2026-07-21T14:55:07.059Z",
  "_jobs": [
    {
      "job": 88669676403,
      "time": 279,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8499491017"
    },
    {
      "job": 88669676426,
      "time": 233,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8499466610"
    },
    {
      "job": 88668177066,
      "time": 313,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8499335303"
    },
    {
      "job": 88669676418,
      "time": 196,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8499444662"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29840542210",
  "_status": "success",
  "_upstream": "https://github.com/cran/dataganger",
  "_commit": {
    "id": "208f22cef8aeb507791d825656b7aa6a2c4e4d74",
    "author": "Lennon Li <yeli@biostats.ai>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.6.1\n",
    "time": 1784631619
  },
  "_maintainer": {
    "name": "Lennon Li",
    "email": "yeli@biostats.ai"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "haven",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "readr",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "withr",
      "role": "Imports"
    },
    {
      "package": "yaml",
      "role": "Imports"
    },
    {
      "package": "zip",
      "role": "Imports"
    },
    {
      "package": "bslib",
      "role": "Suggests"
    },
    {
      "package": "callr",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "nnet",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "plotly",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "synthpop",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-30",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.6.1",
      "date": "2026-07-21"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 622,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/dataganger"
  },
  "_devurl": "https://github.com/lennon-li/dataganger",
  "_pkgdown": "https://dataganger.biostats.ai/",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/dataganger.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.6.1",
      "date": "2026-07-21"
    }
  ],
  "_exports": [
    "assess_kanonymity",
    "check_code_readiness",
    "compare_synthetic",
    "dataganger_cli",
    "detect_roles",
    "enforce_kanon",
    "export_diagnostic_package",
    "export_synthetic",
    "looks_aggregated",
    "make_agent_bundle",
    "plot_comparison",
    "privacy_check",
    "profile_data",
    "read_input",
    "report_issue",
    "run_app",
    "suggest_min_rows",
    "synth_spec",
    "synthesize_data"
  ],
  "_datasets": [
    {
      "name": "example_admin_claims",
      "title": "Example administrative claims dataset",
      "object": "example_admin_claims",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "claim_id",
        "patient_id",
        "service_date",
        "dx_code",
        "proc_code",
        "cost",
        "approved",
        "provider_city",
        "postal_code"
      ],
      "rows": 300,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_health_survey",
      "title": "Example health survey dataset",
      "object": "example_health_survey",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "record_id",
        "age",
        "sex",
        "bmi",
        "smoking_status",
        "systolic_bp",
        "diastolic_bp",
        "survey_date",
        "province",
        "comments"
      ],
      "rows": 200,
      "table": true,
      "tojson": true
    },
    {
      "name": "example_registry",
      "title": "Example disease registry dataset",
      "object": "example_registry",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "subject_id",
        "enroll_date",
        "age_at_enroll",
        "disease_stage",
        "biomarker_a",
        "biomarker_b",
        "status",
        "last_visit",
        "region",
        "notes"
      ],
      "rows": 150,
      "table": true,
      "tojson": true
    },
    {
      "name": "geographic_sample",
      "title": "Geographic synthetic sample data",
      "object": "geographic_sample",
      "class": [
        "data.frame"
      ],
      "fields": [
        "region",
        "population",
        "rate_per_100k",
        "category",
        "risk_level"
      ],
      "rows": 50,
      "table": true,
      "tojson": true
    },
    {
      "name": "individual_sample",
      "title": "Individual-level synthetic sample data",
      "object": "individual_sample",
      "class": [
        "data.frame"
      ],
      "fields": [
        "id",
        "age",
        "sex",
        "income",
        "education",
        "smoker",
        "bmi"
      ],
      "rows": 200,
      "table": true,
      "tojson": true
    },
    {
      "name": "temporal_sample",
      "title": "Temporal synthetic sample data",
      "object": "temporal_sample",
      "class": [
        "data.frame"
      ],
      "fields": [
        "date",
        "site_id",
        "measurement",
        "temperature",
        "flagged"
      ],
      "rows": 365,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "assess_kanonymity",
      "title": "Assess k-anonymity over a set of quasi-identifier columns",
      "topics": [
        "assess_kanonymity"
      ]
    },
    {
      "page": "check_code_readiness",
      "title": "Check whether synthetic data is code-compatible with the original",
      "topics": [
        "check_code_readiness"
      ]
    },
    {
      "page": "compare_synthetic",
      "title": "Compare original and synthetic datasets",
      "topics": [
        "compare_synthetic"
      ]
    },
    {
      "page": "dataganger_cli",
      "title": "DataGangeR command-line interface",
      "topics": [
        "dataganger_cli"
      ]
    },
    {
      "page": "detect_roles",
      "title": "Detect data roles for each column",
      "topics": [
        "detect_roles"
      ]
    },
    {
      "page": "enforce_kanon",
      "title": "Enforce k-anonymity on a synthetic dataset (output guarantee)",
      "topics": [
        "enforce_kanon"
      ]
    },
    {
      "page": "example_admin_claims",
      "title": "Example administrative claims dataset",
      "topics": [
        "example_admin_claims"
      ]
    },
    {
      "page": "example_health_survey",
      "title": "Example health survey dataset",
      "topics": [
        "example_health_survey"
      ]
    },
    {
      "page": "example_registry",
      "title": "Example disease registry dataset",
      "topics": [
        "example_registry"
      ]
    },
    {
      "page": "export_diagnostic_package",
      "title": "Export a Lens-compatible diagnostic schema for a dataset",
      "topics": [
        "export_diagnostic_package"
      ]
    },
    {
      "page": "export_synthetic",
      "title": "Export a synthetic data bundle",
      "topics": [
        "export_synthetic"
      ]
    },
    {
      "page": "geographic_sample",
      "title": "Geographic synthetic sample data",
      "topics": [
        "geographic_sample"
      ]
    },
    {
      "page": "individual_sample",
      "title": "Individual-level synthetic sample data",
      "topics": [
        "individual_sample"
      ]
    },
    {
      "page": "looks_aggregated",
      "title": "Heuristic: does this data frame look pre-aggregated (a table of counts)?",
      "topics": [
        "looks_aggregated"
      ]
    },
    {
      "page": "make_agent_bundle",
      "title": "Create a one-command agent-ready bundle from a raw data file",
      "topics": [
        "make_agent_bundle"
      ]
    },
    {
      "page": "plot_comparison",
      "title": "Plot comparison summaries",
      "topics": [
        "plot_comparison"
      ]
    },
    {
      "page": "privacy_check",
      "title": "Run disclosure-risk privacy checks",
      "topics": [
        "privacy_check"
      ]
    },
    {
      "page": "profile_data",
      "title": "Profile a dataset column-by-column",
      "topics": [
        "profile_data"
      ]
    },
    {
      "page": "read_input",
      "title": "Read a data file into a tibble",
      "topics": [
        "read_input"
      ]
    },
    {
      "page": "report_issue",
      "title": "Report a problem or share feedback",
      "topics": [
        "report_issue"
      ]
    },
    {
      "page": "run_app",
      "title": "Launch the DataGangeR Shiny Application",
      "topics": [
        "run_app"
      ]
    },
    {
      "page": "suggest_min_rows",
      "title": "Suggest a sufficient synthetic row count",
      "topics": [
        "suggest_min_rows"
      ]
    },
    {
      "page": "synth_spec",
      "title": "Create a synthesis specification",
      "topics": [
        "synth_spec"
      ]
    },
    {
      "page": "synthesize_data",
      "title": "Synthesize a data double",
      "topics": [
        "synthesize_data"
      ]
    },
    {
      "page": "temporal_sample",
      "title": "Temporal synthetic sample data",
      "topics": [
        "temporal_sample"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/dataganger/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/dataganger/raw/HEAD/README.md",
  "_rundeps": [
    "bit",
    "bit64",
    "cellranger",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "digest",
    "dplyr",
    "forcats",
    "generics",
    "glue",
    "haven",
    "hms",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "R6",
    "readr",
    "readxl",
    "rematch",
    "rlang",
    "tibble",
    "tidyselect",
    "tzdb",
    "utf8",
    "vctrs",
    "vroom",
    "withr",
    "yaml",
    "zip"
  ],
  "_vignettes": [
    {
      "source": "privacy-and-ai-workflow.Rmd",
      "filename": "privacy-and-ai-workflow.html",
      "title": "Privacy gating and Agent workflows",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The promise",
        "The privacy gating ladder",
        "1. Entry attestation: direct identifiers",
        "2. Upload",
        "3. Early soft fail-safe",
        "4. Objective",
        "5. Configure: two questions per column",
        "6. Synthesis enforcement",
        "7. Compare plus privacy report",
        "8. Export",
        "What the two questions reinforce",
        "Short glossary",
        "Worked k-anonymity examples from the built-in samples",
        "individual_sample (200 x 7)",
        "temporal_sample (365 x 5)",
        "geographic_sample (50 x 5)",
        "Two ways to use it with AI",
        "Path A: hand off the synthetic bundle",
        "Path B: save the recipe and let the AI reproduce",
        "The no-network guarantee",
        "Lock 1: no network code",
        "Lock 2: nothing is persisted",
        "How it is proven",
        "Verify it yourself offline",
        "Supply-chain note"
      ],
      "created": "2026-07-21 11:00:19",
      "modified": "2026-07-21 11:00:19",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": false,
  "_nocasepkg": "dataganger",
  "_universes": [
    "cran",
    "lennon-li"
  ],
  "_indexurl": "https://lennon-li.r-universe.dev/dataganger",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.1",
      "date": "2026-07-21T14:53:30.000Z",
      "distro": "resolute",
      "commit": "208f22cef8aeb507791d825656b7aa6a2c4e4d74",
      "fileid": "https://r2.ropensci.org/adb6b0159e7349c4fe2b674c19146191a9ebf53e74c6f84b61d6330bf092208f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29840542210"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.6.1",
      "date": "2026-07-21T14:52:51.000Z",
      "distro": "resolute",
      "commit": "208f22cef8aeb507791d825656b7aa6a2c4e4d74",
      "fileid": "https://r2.ropensci.org/59b7e2f7cea251543e8134d6611eb009acaa8215d71d79eed0c716f668d484d9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29840542210"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.1",
      "date": "2026-07-21T14:53:22.000Z",
      "commit": "208f22cef8aeb507791d825656b7aa6a2c4e4d74",
      "fileid": "https://r2.ropensci.org/1cca880d0e68de078e5be80fcfe40e5a9b51d22c1ec008c7a056af8d081cf054",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29840542210"
    }
  ]
}