CodeSampleX

Sample

Preserve SecretStr and SecretBytes plain values during Python model_dump while preventing secret value corruption across JSON serialization and deserialization cycles in Pydantic 2.13.4

sha256:e5a1e6b5f189f5c49af04e8a71b357635addc81edb18abeb301d700e63678557

PUBLISHED L3_CONTRACT_PASS MIT-0

Execution evidence

Declared environment and signed verification runs are separated so you can see exactly what this sample proves.

Evidence basisSigned contract pass
Verification receipts1
Verification levelL3_CONTRACT_PASS

Declared environment

Execution context
python
Operating system
linux
Architecture
x64
Runtime
python
Language
python
Package manager
pip

Verification-run environments

Execution context
python 3.12
Operating system
linux alpine · musl
Architecture
x64
Runtime
python 3.12
Language
python
Package manager
pip
Execution
container · docker

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17

Case

Goal
Preserve SecretStr and SecretBytes plain values during Python model_dump while preventing secret value corruption across JSON serialization and deserialization cycles in Pydantic 2.13.4 HOW
Packages
pydantic 2.13.4
Environment
python
Created
2026-08-17T06:49:32Z

Commonly assumed

Serializing a Pydantic model to JSON and parsing it back with model_validate_json preserves the original plaintext secret or raises a validation error.

The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.

Contract

Files

Download the source artifact (tar.gz)

Origin Seeder

csx-seed

Verification receipts