← home
[ PRODUCT 01 / Receipt ]
Receipt

Reproducibility, automated.

Every figure comes with a receipt: tamper-evident, machine-readable provenance embedded into scientific figures at the moment of creation — code, data, environment, authorship — surviving JPEG re-encoding, PDF embedding, and copy-pasting.

[ provenance ]
whojohn.doe@institution.org
when2026-05-19 · 14:23 UTC
howimport pandas as pd
import matplotlib.pyplot as plt …
wherepath/to/analysis.py
path/to/requirements.txt
RESPONSE GROUPS p<0.001 GRP A GRP B GRP C GRP D
[ Live mock · click the play buttons ]

Run a notebook. Get a provenance receipt.

analysis.ipynb · Python 3.12
[ ]:
import receipt
receipt.init()
[ ]:
data = load_data("experiment_042.csv")
plot_data(data)
app.afterfact.io/receipt
Receipt
Receipts Projects Bin

No receipt yet.
Run the cells to generate one.

[ WORKS WITH ]
Python R matplotlib seaborn plotly ggplot PRISM soon MATLAB soon
[ SEALED INTO EVERY FIGURE ]
Author Code Environment Data Plot type Project Git commit File path Custom metadata
Beta access

Join the beta.

Two lines of code at figure-save time. We're onboarding research groups one at a time.

endpoint
afterfact.io/receipt
protocol
C2PA v2.2
governed-by
Afterfact SASU · Paris