Client samples

Create Your Data Sample

Create Your Code Sample

Prepare a small sample of your code, dataset, or AI training material for Monument Exchange. You choose what to include. You do not need to share your complete dataset.

Prepare a small, sanitized evaluation sample of one repository — some of its code, its Git history and its tests — on your own computer. You choose what to include, review it, and upload it only after you approve it.

Your invitation is for a code sample. Your steps are under Submit Your Sample: get the Monument tool, copy the code-sample prompt into your approved coding assistant, review and approve what it builds, then upload the ZIP and its certificate. The data-sample prompt and checker do not apply to this invitation, so they are hidden.

Use only an AI coding assistant approved by your organization. Never upload confidential source files to an unapproved AI tool.

Good to know: this website cannot see your code. The Monument tool runs offline on your computer and only reads the original repository; nothing is sent to Monument until you upload the approved ZIP yourself. An AI coding assistant is different: if it is cloud-connected, what it reads can be processed by its provider — use only one your organization has approved for this code, or run the tool’s commands yourself.
Good to know: this website cannot see your files. Copy Sample Prompt only copies instructions. The offline checker runs on your own computer; the approved AI coding assistant reads the folder you allow and, if it is cloud-connected, its provider can process what it reads. Nothing is sent to Monument until you upload the ZIP yourself.

Five steps

  1. Open your files

    On your computer, open your project folder or approved dataset in a file-capable AI coding assistant such as Claude Code. If you are unsure, ask a technical colleague or contact Monument. Do not use an unapproved hosted assistant with confidential data.

  2. Copy and paste our prompt

    Click Copy Sample Prompt, paste it into your assistant, and answer its questions about which folder it may read and what may be shared. It asks before it looks at anything.

  3. Review your sample

    Your assistant stages a small monument-sample-output/ folder, runs the offline checker on it, reports findings without repeating any value, fixes them, and shows you exactly what is in it. Approve only what may be shared. After you approve, it creates monument-sample-output.zip on your computer.

  4. Check your ZIP

    Check the final ZIP itself with the offline checker (check-zip), and/or with Check My ZIP below — both run on your computer and upload nothing. Monument repeats every check — and more — after you submit. A clean result is not proof of anonymization or legal clearance.

  5. Submit securely

    Open your Monument invitation link, confirm your email address, and upload the ZIP under Submit Your Sample. You get a reference number straight away. Monument reviews the sample and contacts you if anything is missing.

What will I get?

The ZIP contains an overview of your asset and, only with your permission, a few limited examples. Fictional examples are clearly labelled as synthetic.

Choose what to share

Mode A · default

Metadata only

Descriptions, structure and counts — no real records, code or documents. The safest first step, and enough for most first evaluations.

Mode B

Synthetic or authorized examples

Clearly labelled fictional examples that show the format, and/or examples you are demonstrably authorized to share (for example ones you already publish). Synthetic examples show format only — they say nothing about the quality of the real data.

Mode C · only with approval

Representative real excerpts

A few short, sanitized real excerpts — only with your explicit approval of each one, a recorded disclosure authorization and a re-check after sanitizing. Monument’s privacy reviewer always inspects real excerpts before anyone else. Never source code.

Codebases are always metadata only: Monument does not receive source code — the code itself stays on your computer with Monument Scrub. Never a whole repository, dataset, Git history or original file collection. If you think real personal or confidential data genuinely has to be shared, ask your Monument contact first: such exceptions need a Monument privacy specialist and a separate legal authorization, and may be refused.

What should I never share?

  • Passwords, API keys, tokens, private keys, certificates or .env / credential files
  • Private customer, patient or employee records — including in conversation logs and agent trajectories
  • Financial, medical, government-ID or other regulated personal data
  • Internal hostnames, IP addresses, cloud account identifiers and production URLs
  • Git history (.git folders, patches and logs carry author names and emails) or a whole repository or dataset
  • Contracts, restricted agreements or anything under a confidentiality obligation you cannot share
  • Private grading keys, hidden test answers or reference solutions
  • Third-party data or content you do not have permission to share
  • Anything else sensitive you are not sure about — leave it out and tell us instead
  • Your original .git folder, patches or logs — the Monument tool rebuilds a sanitized history with numbered contributors, and nothing else is added

Metadata only — a description with no real records — is a valid first step.

What you need

  • Claude Code in a workspace your organization has approved — or another approved, file-capable coding assistant.
  • The project folder or dataset on your computer.
  • Your computer’s built-in ZIP tool (your assistant usually creates the ZIP for you).
  • Nothing else to install in the usual case.
  • Claude Code in a workspace your organization has approved — or another approved, file-capable coding assistant.
  • The repository on your computer (a full clone, not a shallow one).
  • Python 3.8 or later and Git — already on most developer computers.
  • The Monument tool: one file, downloaded below; it creates the ZIP and its certificate.

Works for codebases, datasets, documents, AI training data, agent trajectories, RL environments and audio/image/video assets. The prompt adapts its steps to each.

The sample prompt

Download (.txt)

Version monument-sample-prompt-3.0.0. The prompt contains no personal links or codes — it is the same for everyone.

View full prompt
MONUMENT EXCHANGE - SAMPLE CREATION PROMPT
prompt_version: monument-sample-prompt-3.0.0

Paste everything in this file into a file-capable AI coding assistant that your organization has approved for this material (for example, Claude Code running in an authorized workspace). An ordinary chat window without access to your files cannot do this.

READ THIS FIRST - OFFLINE CHECKER VS. AI ASSISTANT
  - The Monument offline checker (monument_sample_check.py, downloadable from the Monument sample page) runs entirely on your computer. It uses only Python's standard library, opens no network connection, uploads nothing and prints no detected value.
  - An AI coding assistant is usually CLOUD-CONNECTED: whatever it reads (file names, file contents, command output) may be processed on its provider's servers. Only use one that your organization has approved for this material. If none is approved, do not give it access to your files: fill in the METADATA-ONLY QUESTIONNAIRE at the end by hand, or prepare the package yourself and use only the offline checker.
  - Neither the checker nor the assistant can prove that personal or confidential data is absent. A clean result is not anonymization and not legal clearance.

==================== INSTRUCTIONS FOR THE AI ASSISTANT ====================

You are helping the owner of an asset prepare a small, accurate, reviewable evaluation sample for Monument Exchange, an AI data brokerage. The sample helps a buyer understand what the asset is. It is NOT a full data transfer, NOT proof of ownership or licensing rights, and NOT a privacy certification. Work carefully, ask before you look, and never invent facts.

------------------------------------------------------------------------
STEP 1 - CONFIRM PERMISSIONS AND THE ENVIRONMENT BEFORE YOU INSPECT ANYTHING
------------------------------------------------------------------------
Your first reply must ask me these questions and wait for my answers. Do not open, list or read any of my files before I answer.

  1. Which exact folder, repository or dataset may you access? (Give the path.) Everything outside it is off limits.
  2. Has my organization approved this AI assistant, and the way it processes data, for this material? (yes / no / not sure)
  3. Tell me honestly whether you, the assistant, are cloud-connected (whether file contents you read leave this computer). If you do not know, say "unknown".
  4. Am I authorized to start a sample review of this asset on behalf of its owner? (yes / no / not sure)
  5. Which sample mode do I want?
       A. metadata_only (the default and the safest first step): descriptions, structure and counts. No real content at all.
       B. synthetic_or_authorized_examples: clearly labelled fictional examples that show the format (SAMPLES/SYNTHETIC/), and/or examples the owner is demonstrably authorized to share, such as material already published by the owner (SAMPLES/AUTHORIZED/, each with its authorization basis).
       C. real_excerpts: a few short, representative real excerpts (SAMPLES/EXCERPTS/). Only with my explicit approval of each excerpt, additional sanitization, a recorded disclosure authorization (who approved, on what basis, for what scope) and a re-check after sanitizing.
     Monument never receives source code: a codebase is always metadata_only, and no real or authorized example may be a source-code file. (Code itself is handled with Monument Scrub, which keeps the code on my computer.)
  6. What kind of asset is it? (codebase, structured_data, documents_text, agent_trajectories, rl_environment, ai_training_data, multimodal, or other)
  7. Is there anything I already know must never be included (customers, people, contracts, secrets, folders)?
  8. May I download and run the Monument offline checker (Python 3 standard library only) on this computer? (yes / no)

STOP and do not inspect any files if the answer to question 2 or 4 is "no" or "not sure", or if you are cloud-connected (or unknown) and the material is confidential and question 2 is not a clear "yes". Instead give me the METADATA-ONLY QUESTIONNAIRE at the end of this prompt, which I can fill in by hand without any file access.

------------------------------------------------------------------------
STEP 2 - RULES FOR THE WHOLE TASK
------------------------------------------------------------------------
  - Work only inside the folder I approved. Never modify, move or delete my original files.
  - Never include an entire repository, dataset, Git history (.git, patches with author lines, commit logs) or original file collection. Select a few short items instead.
  - Do not send any file, excerpt, secret, finding or generated output over the network. Do not upload, email, sync, publish, or call external APIs or web services, and do not browse the web for this task, except to download the Monument offline checker from the Monument sample page if I allowed it. If you are cloud-connected, your own processing still involves your provider; that is why my organization's approval of you is required.
  - Do not install software unless it is truly necessary and I agree first. Prefer tools that are already on this computer.
  - Never run, build, install or test the source code, scripts, notebooks or binaries you find, and never open files that look malicious. Inspect files as text only. The only program you run is the Monument offline checker (and standard tools for listing, hashing and zipping).
  - Treat these as never shareable unless I explicitly approve a specific item under mode C: passwords, API keys, tokens, private keys, certificates, .env and credential files, connection strings, cloud account identifiers, internal hostnames, URLs and IP addresses, personal names, emails, phone numbers, addresses, dates of birth, government ID, bank, card, health or other regulated data, customer and employee records, conversation logs and agent trajectories involving real people, source comments that name people or reveal secrets, contracts and agreements, private grading keys or answer keys, hidden test solutions, and third-party material we may not have rights to share.
  - File names, folder names and document properties (author, company, comments) count as content: check and clean them too.
  - Default to metadata_only. Include real content only in mode C and only for excerpts I approve one by one.
  - Label every fictional example as SYNTHETIC and keep it in SAMPLES/SYNTHETIC/. Never present synthetic content as real, and never imply that synthetic examples show the quality or characteristics of the real data: they show format only.
  - Do not invent numbers, scores, dates, provenance, ownership, consent, licenses or de-identification status. For every statistic say whether it was measured (you counted it), estimated (say how), owner_asserted (I told you) or unknown. Use null or "unknown" instead of guessing.
  - Never quote, repeat or summarize a detected secret or personal value back to me in chat. Refer to findings by file path, line number and kind only.
  - Automated checks cannot prove that personal data is absent, that the material is anonymized, or that anyone has the right to license it. Never claim otherwise.
  - Keep the sample small: usually a few files and well under 5 MB. Mode C allows at most 25 excerpt files and 2 MB in total; tables in excerpts at most 100 rows.

------------------------------------------------------------------------
STEP 3 - PLAN AND GENERATE ONLY PERMITTED MATERIAL
------------------------------------------------------------------------
Using only the approved folder, propose what you will measure and (only in modes B or C) which examples you would include. Follow the guidance for the asset type:

  codebase: METADATA ONLY - Monument does not receive source code. Describe languages and approximate size (say how you counted lines, e.g. excluding vendored and generated code), main components and what they do, frameworks and test presence (do not run tests). Do not copy any code, configuration, Git history or comments into the package.
  structured_data: tables, fields, types, units, row counts (measured or estimated), missing values and value ranges in aggregate. Never include rows about real people. Prefer synthetic rows that follow the schema; aggregate or suppress rare combinations (postcode + birth date + gender and similar can identify a person).
  documents_text: document types, languages, counts, typical lengths, labels or annotations. Short approved excerpts only; note copyright or confidentiality markings; save excerpts as plain text or Markdown without document properties.
  ai_training_data: task format (for example instruction/response, preference pairs, labels), label definitions, how labels were produced and checked, counts per split, known quality issues.
  agent_trajectories: prefer synthetic trajectories. Real ones only in mode C: remove user identifiers, names, tokens, account numbers and private URLs, and preserve the order of steps. Describe the tool schema and how success was judged.
  rl_environment: never include environment source code. First find out whether a runnable, tested environment actually exists. If it does not, describe the intended tasks only and say clearly that it is not runnable. Do not create or claim pass rates, rewards or benchmark results you did not observe from real execution evidence that I provide. Never include hidden graders, reference solutions, flags or answer keys.
  multimodal: file formats, counts, durations or resolutions, capture conditions and consent status if known. Prefer metadata. Images, audio, video and PDFs cannot be checked automatically: they are held for a Monument privacy reviewer, so include them only if essential and approved.
  other: describe the asset and choose the closest of the above.

Tell me the plan and wait for my go-ahead.

------------------------------------------------------------------------
STEP 4 - STAGE THE PACKAGE IN A SEPARATE LOCAL FOLDER
------------------------------------------------------------------------
Create a new folder named monument-sample-output next to (not inside) the approved source. Copy or write ONLY the files below into it. Write plain, matter-of-fact English.

  README.md - what the asset is, possible buyer uses, what this sample does and does not contain, and the sample mode.
  ASSET_OVERVIEW.md - asset type, source types, counts (each marked measured / estimated / owner_asserted / unknown, with how it was obtained), formats, languages, coverage, how the asset was created if known, and known limitations.
  DATA_DICTIONARY.md - fields, file types or components and what they mean. Describe fields; do not paste real example values. Write "not applicable" where something does not apply.
  RIGHTS_AND_RESTRICTIONS.md - what I state about ownership and permission to license or use for AI training, any third-party content or licenses, customer or contract restrictions, and open questions. State clearly that these are owner statements that Monument has not verified.
  PRIVACY_AND_REVIEW.md - what was deliberately left out, the sanitization applied, which checks actually ran (including the offline checker's result) and what they cannot prove, possible direct or indirect identifiers, and remaining risks.
  REVIEW_REQUIRED.md - a short prioritized checklist of decisions and approvals still needed, including the decision to share this package with Monument Exchange.
  sample_manifest.json - described below.
  CHECKSUMS.sha256 - described below.
  SAMPLES/SYNTHETIC/ - mode B only: labelled fictional examples.
  SAMPLES/AUTHORIZED/ - mode B only: examples the owner is demonstrably authorized to share, each listed in "authorized_examples" with its basis.
  SAMPLES/EXCERPTS/ - mode C only: the approved, sanitized real excerpts.
Omit SAMPLES/ entirely for metadata_only. Do not add any other files: no hidden files, no .git or dependency folders, no nested ZIP or archive files, no shortcuts or symbolic links, no executables.

sample_manifest.json must be valid JSON with exactly this structure (use null or "unknown" rather than guessing):

{
  "schema_version": "3.0",
  "prompt_version": "monument-sample-prompt-3.0.0",
  "package_id": "msp-YYYYMMDD-xxxxxx (today's date and 6 random letters or digits)",
  "asset_type": "codebase | structured_data | documents_text | agent_trajectories | rl_environment | ai_training_data | multimodal | other",
  "sample_mode": "metadata_only | synthetic_or_authorized_examples | real_excerpts",
  "generated_at": "ISO 8601 UTC time, or null",
  "generated_with": "name of the assistant or tool, or null",
  "processing": {
    "environment": "offline_local | approved_ai_assistant | manual",
    "assistant_cloud_connected": null,
    "organization_approval": "confirmed | not_required | unknown"
  },
  "intended_recipient": "Monument Exchange",
  "source_summary": {
    "description": "one or two sentences with no confidential detail",
    "population_count": null,
    "population_count_status": "measured | estimated | owner_asserted | unknown",
    "sampling_method": "how the examples were chosen, or none (metadata only)"
  },
  "rights": {
    "ownership": "owner_asserted | unknown | disputed",
    "third_party_content": "none_known | present | unknown",
    "ai_training_permission": "owner_asserted | not_permitted | unknown",
    "verified_by_monument": false
  },
  "privacy": {
    "personal_data_in_sample": "none_known | present_reviewed | unknown",
    "human_review_complete": false
  },
  "disclosure_authorization": null,
  "authorized_examples": [],
  "local_checker": null,
  "rl_environment": null,
  "local_checks": [
    { "name": "name of a check you ran", "result": "pass | warn | fail | not_run", "limits": "what this check cannot establish" }
  ],
  "owner_approval": {
    "status": "pending",
    "approved_by_role": null,
    "approved_at": null,
    "scope": null
  },
  "files": [
    { "path": "README.md", "sha256": "64 lowercase hex characters", "bytes": 1234, "role": "documentation | synthetic_example | authorized_example | real_excerpt" }
  ],
  "limitations": ["plain-language limitations of this sample"]
}

Notes on the manifest:
  - Pick one value where alternatives are separated by " | ". "assistant_cloud_connected" is true, false or null (unknown).
  - Mode C only: set "disclosure_authorization" to { "approved_by_role": "the approver's role, not their name", "approved_at": "ISO 8601 UTC", "basis": "why sharing these excerpts with Monument is permitted", "scope": "exactly what was approved", "excerpt_count": <number of files in SAMPLES/EXCERPTS/>, "sanitization_applied": ["each step, e.g. removed direct identifiers"], "re_checked_after_sanitization": true }. Set "privacy.human_review_complete" to true only after a person has reviewed every excerpt.
  - Mode B: list every file in SAMPLES/AUTHORIZED/ in "authorized_examples" as { "path": "...", "authorization_basis": "why the owner may share it" }. If you include synthetic examples, add a limitation saying they are synthetic and say nothing about the quality or characteristics of the real data.
  - Roles: files in SAMPLES/SYNTHETIC/ are "synthetic_example", in SAMPLES/AUTHORIZED/ "authorized_example", in SAMPLES/EXCERPTS/ "real_excerpt"; root documents are "documentation".
  - "files" lists every file in the package except sample_manifest.json and CHECKSUMS.sha256, with its exact relative path (forward slashes), byte size and SHA-256.
  - "local_checker" stays null until you run the offline checker (STEP 5); then set it to { "tool": "monument-sample-check", "version": "<the checker's version>", "candidate_status": "<the status it reported>" }.
  - For rl_environment assets, set "rl_environment" to { "runnable_claimed": true or false, "execution_evidence_included": true or false }. Otherwise leave it null.
  - Leave owner_approval as "pending" until STEP 9.

CHECKSUMS.sha256 has one line per file in the package except itself (so it includes sample_manifest.json), in the form:
  <64 lowercase hex sha256><two spaces><relative path>
Paths are relative to the monument-sample-output folder and use forward slashes. Compute sizes and checksums with a local tool: the offline checker prints them ("python3 monument_sample_check.py hashes monument-sample-output"); otherwise shasum -a 256, sha256sum, Get-FileHash, certutil or Python's hashlib. If no tool is available, say so instead of guessing.

------------------------------------------------------------------------
STEP 5 - RUN PRIVACY AND SECRET DETECTION ON THE CANDIDATE FILES
------------------------------------------------------------------------
On monument-sample-output only (never on my whole source):
  1. If I allowed it in STEP 1, I download monument_sample_check.py from the Monument sample page (Get the offline checker) and compare its SHA-256 with the one shown on that page. Then run, on this computer:
       python3 monument_sample_check.py check-folder monument-sample-output
     If I listed anything that must never be included (STEP 1, question 7), put those terms in a local text file OUTSIDE monument-sample-output (one per line) and add: --terms <that file>. The checker never prints the terms; never put that file in the package.
     It reports one of: CHECKS_PASSED (no findings by its rules in what it could scan), SENSITIVE_DATA_FOUND, REVIEW_REQUIRED, SCAN_INCOMPLETE, UNSUPPORTED_CONTENT, NEEDS_CORRECTION (package format) or SECURITY_HOLD (unsafe files). It never prints the detected values.
  2. If the checker is not allowed or cannot run, say so plainly, keep "local_checker" null and run what local checks you can (secret patterns such as private key blocks, "api_key=", "password=", tokens, cloud keys and connection strings; emails, phone numbers and ID-like numbers; hidden files; file names) - and record each one in local_checks with its limits. Never claim the offline checker ran when it did not.
  3. Also confirm: all required files are present and nothing extra is there; sample_manifest.json is valid; every listed file matches its size and SHA-256; CHECKSUMS.sha256 matches; metadata_only packages contain no SAMPLES/ folder; samples are only in the three SAMPLES/ folders; every number is marked measured / estimated / owner_asserted / unknown.

------------------------------------------------------------------------
STEP 6 - REPORT FINDINGS WITHOUT SECRET VALUES
------------------------------------------------------------------------
Give me a findings report: for each finding, its status or severity, the kind (for example "possible credential", "customer records", "internal hostname"), the file path and line number if known, and what you propose to do. Do not quote, paste or paraphrase any detected value. Do not send findings anywhere.

------------------------------------------------------------------------
STEP 7 - REMOVE OR REPLACE, THEN CHECK AGAIN
------------------------------------------------------------------------
Remove or replace every finding (delete the file, replace real values with placeholders, use synthetic rows, generalise rare combinations, strip document properties, rename revealing files). Rotating any real secret you found is my job: remind me. Then recompute the manifest and checksums and repeat STEP 5 until the checker reports CHECKS_PASSED, or until the only remaining items are REVIEW_REQUIRED / UNSUPPORTED_CONTENT findings that a named role in my organization has reviewed and explicitly accepted (record that in PRIVACY_AND_REVIEW.md). SENSITIVE_DATA_FOUND, SCAN_INCOMPLETE, NEEDS_CORRECTION and SECURITY_HOLD must be fixed - never accepted.

EXCEPTIONAL CASES: if you or I believe real personal, regulated or confidential data genuinely needs to be shared, STOP. Do not include it. Tell me to contact my Monument contact first: such cases need Monument's privacy specialist and a separate legal authorization before anything is shared, and may still be refused.

------------------------------------------------------------------------
STEP 8 - SHOW ME EXACTLY WHAT WILL BE INCLUDED
------------------------------------------------------------------------
Show me a plain-English disclosure review:
  - the asset type and sample mode (A, B or C)
  - the exact list of files that would be shared, with sizes and roles
  - for mode C: each excerpt, its source, the sanitization applied and the disclosure authorization
  - anything sensitive you noticed and what you did about it
  - rights questions that are still open
  - the intended recipient: Monument Exchange
  - the offline checker's result (or that it did not run) and the limits of every check

------------------------------------------------------------------------
STEP 9 - STOP FOR MY EXPLICIT APPROVAL
------------------------------------------------------------------------
Ask: "Do you approve sharing exactly these files with Monument Exchange for evaluation? (yes / no / change something)"
Do not create a ZIP until I answer yes. If I say no, stop and do not package anything. If I ask for changes, make them, repeat STEPS 5 to 8, and ask again.
After I say yes: update owner_approval in sample_manifest.json ("status": "approved", "approved_by_role": my role or title (not my name), "approved_at": ISO 8601 UTC, "scope": one sentence describing what I approved for Monument Exchange), recompute CHECKSUMS.sha256 and run STEP 5 once more.

------------------------------------------------------------------------
STEP 10 - CREATE THE ZIP LOCALLY
------------------------------------------------------------------------
Create monument-sample-output.zip next to the folder, containing only the monument-sample-output folder, using a local tool. For example:
  macOS / Linux:   cd <parent folder> && zip -r -X monument-sample-output.zip monument-sample-output -x "*.DS_Store" "__MACOSX/*"
  Python 3:        python3 -c "import shutil; shutil.make_archive('monument-sample-output', 'zip', root_dir='.', base_dir='monument-sample-output')"
  Windows 10/11:   tar.exe -a -c -f monument-sample-output.zip monument-sample-output
Do not password-protect or encrypt the ZIP, do not add a ZIP comment, and do not put other archives inside it.
If you cannot create a ZIP yourself, do not claim you did. Give me these manual steps instead:
  macOS: right-click the monument-sample-output folder and choose "Compress".
  Windows: right-click the folder, choose "Send to" > "Compressed (zipped) folder" (or "Compress to ZIP file").
  Linux: run the zip command above in a terminal.

------------------------------------------------------------------------
STEP 11 - INSPECT THE FINAL ZIP ITSELF
------------------------------------------------------------------------
Check the ZIP that will actually be shared, not just the folder: every entry, its name, its metadata and its contents.
  python3 monument_sample_check.py check-zip monument-sample-output.zip   (add --terms <file> if you used it in STEP 5)
Report the ZIP as "locally check-complete" ONLY if every mandatory check completed and the checker reported CHECKS_PASSED for the ZIP. If any check could not run, did not finish, or reported anything else, say "not locally check-complete" and why. Then tell me: the full local path of monument-sample-output.zip, its size, its SHA-256 (if a tool is available), the asset type and sample mode, and any warnings. Never describe a clean result as proof of anonymization or legal clearance.

------------------------------------------------------------------------
STEP 12 - NEVER UPLOAD IT YOURSELF
------------------------------------------------------------------------
Do not upload, email or send the ZIP anywhere, and do not open a browser to do so. Do not send the findings or the checker's report anywhere either. Tell me to go to https://monumentexchange.com/create-sample, use my secure Monument invitation link, and submit the ZIP in the "Submit your sample" section. Remind me that Monument checks every ZIP independently, that possible sensitive or uncheckable content is held for a restricted Monument reviewer, that real excerpts are always reviewed by a Monument privacy reviewer before anyone else, and that a received or checked sample is not approved for any buyer.

==================== METADATA-ONLY QUESTIONNAIRE ====================
(Use this when file access is not approved. Answer in plain text and send it to your Monument contact.)

  1. What is the asset, in one or two sentences?
  2. Asset type: codebase, structured_data, documents_text, agent_trajectories, rl_environment, ai_training_data, multimodal, or other.
  3. Roughly how large is it (files, rows, hours, repositories)? Is that measured or an estimate?
  4. What formats and languages does it use?
  5. How was it created or collected, and over what period?
  6. Who owns it, and do you believe you can license it (including for AI training)? Are there third-party, customer or employee restrictions?
  7. Does it contain personal data, customer data or confidential business information?
  8. What would a buyer most want to know before evaluating it?
  9. Which approved tool or process could later be used to prepare a sample, if any?
Advanced: make the ZIP or check it by hand

Create the ZIP manually (only after you have reviewed and approved the folder):

  • macOS: right-click monument-sample-output → Compress.
  • Windows: right-click the folder → Send to → Compressed (zipped) folder, or run tar.exe -a -c -f monument-sample-output.zip monument-sample-output.
  • Linux: zip -r -X monument-sample-output.zip monument-sample-output.

Do not password-protect the ZIP and do not put other archives inside it.

SHA-256 of your ZIP (optional, to compare with your receipt): shasum -a 256 monument-sample-output.zip (macOS), sha256sum monument-sample-output.zip (Linux), Get-FileHash monument-sample-output.zip (Windows PowerShell).

The offline checker

A small Python program (standard library only, Python 3.8 or later) that checks the staged folder and the final ZIP on your computer for credentials, personal and regulated data, customer records, linked identifiers, conversations, Git history, internal hostnames, revealing file names and document metadata — with the same rules Monument uses. It opens no network connection, runs nothing it finds and never prints a detected value.

Get the offline checkerVersion 3.2.1 · rules client-sample-privacy-rules-2

SHA-256 (compare before running): 236b1e8168434e59a713eb90979ba9f48605620937b3714fa514510091166551

python3 monument_sample_check.py check-folder monument-sample-output
python3 monument_sample_check.py check-zip monument-sample-output.zip
python3 monument_sample_check.py hashes monument-sample-output
CHECKS_PASSED
No findings by these rules within everything that could be scanned. Not proof of anonymization or legal clearance.
SENSITIVE_DATA_FOUND
Possible credentials, personal, regulated or confidential data. Remove it and check again — never accept it.
REVIEW_REQUIRED
Something needs a person’s judgement (names, indirect identifiers, internal hostnames, metadata).
UNSUPPORTED_CONTENT
Images, PDFs, audio, video or binary files the rules cannot read — never reported as clean.
SCAN_INCOMPLETE
Something could not be read or fully scanned (encrypted, damaged, too large). Never treated as clean.

Fully offline

The offline checker and Check My ZIP run on your computer. No file content leaves it until you upload the ZIP yourself.

With an AI coding assistant

Most assistants are cloud-connected: files they read may be processed on the provider’s servers. Use only one your organization has approved for this material — the prompt asks it to say so first.

Check My ZIP

A check that runs entirely in your browser — your file is not uploaded; only Monument’s public rules are downloaded. It checks the package layout, the manifest, the checksums and, with the same privacy rules as Monument, secrets and personal data. It does not check malware, rights or suitability, and it cannot prove that nothing sensitive is in the ZIP. Monument does more after secure submission.

Drop monument-sample-output.zip here

One .zip file · up to 25.0 MB.

Submit Your Sample

Loading your secure submission…

Questions

What will I get?
A small folder, monument-sample-output/, describing your asset — what it is, how it is structured, what rights and restrictions apply — and, only with your permission, a few limited examples. After you approve it, your assistant packs it into monument-sample-output.zip.
What should I never share?
Credentials, private customer or employee records, restricted agreements, private grading keys, unapproved third-party data or anything sensitive. Metadata only is a perfectly good first step.
Can I make a sample without Claude Code?
Yes — with another equally capable coding assistant your organization has approved, or an approved local process. An ordinary chat window usually cannot read your files. If you have no approved tool, the prompt ends with a short metadata-only questionnaire you can fill in by hand.
Does Monument need my full source or dataset?
No. The first evaluation uses a small, representative sample — or just a description.
Does passing the checks mean my sample is safe or legal to share?
No. Automated checks look for known patterns only and demonstrably miss some things (for example a name written in lower case). Your own approval and Monument’s review are still required, and a sample is never shared with a buyer from this page.
What happens if Monument’s checks find personal or confidential data?
The ZIP is held in restricted, encrypted storage that only Monument’s privacy reviewers can open. You get a message listing what to fix — never the values themselves — and can upload a corrected version. Files that cannot be checked automatically (images, PDFs, audio) are held for a privacy reviewer as well; nothing unchecked is treated as clean.
Is anything sent anywhere when I use the checks?
No. The offline checker and Check My ZIP both run on your computer; Check My ZIP only downloads Monument’s public rules. An AI coding assistant may be cloud-connected — what it reads can be processed by its provider — so use only one your organization has approved.
What if I have several assets or companies?
Make a separate sample for each asset and use the invitation for that asset. Do not mix unrelated companies, customers or assets in one ZIP.
How do I know it was received?
The page shows a reference number (for example ME-SAMPLE-…) as soon as your upload is stored. If email receipts are enabled you also get one by email. A receipt means received — not accepted or approved.
Can a colleague submit for me?
Yes, if Monument invites them. Invitations are personal: a forwarded link does not work for someone else.

Need help?

Reply to your Monument invitation email or ask your Monument contact — or email info@monumentexchange.com. If you would rather not use an AI assistant at all, ask for the metadata-only questionnaire. Read how we protect data on our security & privacy page.