독립 합성 교육용 예제 / Independent synthetic teaching example
실제 업체 자료·자격정보·외부 의존성은 없습니다. No client records, credentials or external dependencies.
Run node test.mjs in Node.js with global Web Crypto support. Open demo-ko.html or demo-en.html in a modern browser. Demos inline the same module source. No network or persistent storage.
코드·테스트·한영 데모와 범위 문서가 포함됩니다. 수정·재배포·상업적 사용을 허용하며 무보증으로 제공합니다.
You may use, modify and redistribute these original synthetic files, including commercially. Provided as-is without warranty.
Import {makeSyntheticBundle,inspectSyntheticBundle,rehearseSyntheticRestore} from './verified-restore.mjs'.
Requires global Web Crypto SHA-256 and TextEncoder. No weaker fallback. Browser availability must be checked in the target environment. Node tests compare the digest with node:crypto independently. fixed path records.json only; no archive extraction or filesystem writes. Exact synthetic-restore-v1 schema, byte length, SHA-256, known row keys, unique Sxx IDs and integer quantities 1..99. Bundle text <=80000 chars, payload <=60000 chars, at most1000 rows (Sxx IDs effectively at most100 unique entries).
rehearseSyntheticRestore verifies and returns a replacement candidate plus added/removed/changed counts, applied:false. It does not modify current records. Demo applies only to page memory after a separate action and revalidation.
A matching unkeyed hash proves byte consistency against that manifest, NOT trusted origin or authorization. Someone can replace both payload and hash. No signature, encrypted backup, durable storage, schema migration, permission server, multi-file consistency, database restore, cutover or business reconciliation. Use protected trusted manifests/signatures and real restore procedures separately.
실제 회사 데이터 백업/복원을 수행하지 않습니다. 합성 예시의 형식·무결성·미리보기 경계만 보여 줍니다.
