SPHERE Data Certificate

Issued 2026-09-09T04:51:42.858Z · SPHERE-generated

Source data (real)

The original dataset that was used as input to SPHERE. The SHA-256 hash uniquely identifies the exact bytes evaluated.

filenhanes_real_categorical.csvSource CSV file name.
path/Applications/SPHERE.app/Contents/Resources/examples/nhanes_real_categorical.csvAbsolute filesystem path at evaluation time.
size606.2 KBDisk size of the CSV.
modified2026-09-08T23:02:56.000ZFilesystem mtime — when the file was last written.
SHA-256191f37e5c071590c7385c3a26ceb127e42da746d3bc6dbf795aa4110d3498ef6Tamper-evident fingerprint. Re-hashing the same file yields the same digest.
rows4899Number of records in the source data.
columns18 (13 numeric, 5 categorical)Original column count and type breakdown. Categoricals are expanded to ±1 indicator columns for fidelity scoring.

SPHERE data

The SPHERE dataset produced by SPHERE (or supplied by the user). Same fingerprint convention as the source.

filenhanes_real_categorical_sphere.csvSPHERE CSV file name.
path/Applications/SPHERE.app/Contents/Resources/examples/nhanes_real_categorical_sphere.csvAbsolute filesystem path at evaluation time.
size1.41 MBDisk size of the CSV.
modified2026-09-09T04:44:52.013ZFilesystem mtime — when the file was last written.
SHA-25609a888ce8adc60cafdfdfca45306501c8f29fa86b870938d946452146da4d851Tamper-evident fingerprint of the SPHERE file.
rows4899Number of records in the SPHERE data.

Generation method

The SPHERE CSV was generated by SPHERE in this app. The parameters below were captured at generation time.

methodSPHERE (this app)The SPHERE CSV was generated in this app via the Generate tab; the parameters below were captured at generation time.
seedrandomInteger seed for reproducible generation. Empty = a fresh random draw was used.
generated at2026-09-09T04:44:52.169ZWall-clock timestamp when SPHERE was applied in this app.

Fidelity

How statistically close is the SPHERE to the real data? All four metrics are computed on the encoded matrix (categoricals → ±1 indicator columns). Higher = better; 100 = identical.

Composite score95.39 / 100
Δ mean
100.00
raw Δ = 6.87e-13%
Max column-mean deviation. SPHERE preserves column means exactly → score should be ~100.
Δ variance
100.00
raw Δ = 5.31e-12%
Max column-variance deviation. SPHERE preserves column variances exactly → score should be ~100.
Δ correlation
86.96
raw Δ = 1.30e+1%
Frobenius distance between the two correlation matrices. Preserved exactly for fully numeric data; some drift when categoricals are present (see note below).
Marginals (KS)
94.58
KS = 0.054
Mean column-wise Kolmogorov–Smirnov statistic. Catches per-column distribution shifts that means and variances miss.
Note on correlation with categorical variables. SPHERE preserves correlations exactly for fully numeric data. When categorical columns are present, small correlation drift may occur due to encoding and decoding of category labels. For exact correlation preservation, pre-encode categoricals as ±1 indicator columns in the source CSV (one column per category, +1 = belongs, −1 = does not) and treat them as numeric.

Privacy

How resistant is the SPHERE to three GDPR-aligned re-identification attacks (Anonymeter). Each score normalises the raw attack rate against two anchors: real-vs-real (max-risk baseline) and real-vs-column-shuffled (min-risk baseline). Higher = more private; 100 = no better than column-shuffle.

Composite score98.41 / 100
Singling-out
100.00
real 0.996 · shuf 0.200 · synth 0.117
Can an attacker isolate a single individual using a query built from the SPHERE data? The attacker picks 1–3 attribute values from a SPHERE row and counts unique matches in real.
Linkability
97.40
real 0.996 · shuf 0.004 · synth 0.030
If an attacker knows half of an individual’s attributes (set A), can the SPHERE data tell them the other half (set B)? k-NN-based linking across a random column split.
Inference
97.82
real 0.996 · shuf 0.146 · synth 0.165
Can an attacker who knows all of an individual’s attributes except one ("the secret") predict that secret using the SPHERE data as training? Averaged over multiple secret-column choices.

Evaluation parameters

Parameters supplied to the evaluator. The engine name identifies the underlying implementation; seed determines the Monte-Carlo realisation.

engineanonymeterUnderlying evaluator. anonymeter-v1.0.1 = bundled Python sidecar; ts-fallback = built-in TS evaluator.
elapsed22.17 sWall-clock time for the full evaluation (3 metrics × 3 baselines).
n_attacks500Monte-Carlo attack draws per metric. Higher = tighter confidence interval, slower run.
n_aux_cols (Linkability)20Number of feature columns drawn for the Linkability A/B split (split half/half). Anonymeter convention: 20.
n_neighbors (Linkability)1k for the Linkability k-NN intersect test. Anonymeter default 1; larger k = more permissive linking.
n_secrets (Inference)5Number of secret-column choices averaged for the Inference attack. Higher = more stable score, slower run.
n_atk_cap2000Subsample cap on the attacker input rows passed to Anonymeter. Anonymeter convention: min(2000, n).
seed1448451606 (random)Integer seed for reproducible evaluation. (random) = fresh Monte-Carlo realisation each run.