스냅샷에 저장되는 내용
시크릿, git 메타데이터 또는 설치 트리를 영속 저장소에 보관해서는 안 됩니다. 기본 스냅샷 정책은 이러한 경로를 제외합니다. 캡처 또는 복원이 안전하지 않은 파일 시스템 항목을 발견하면 중지됩니다.
이식 가능한 스냅샷은 일반 파일과 디렉터리만 저장합니다. 캡처 또는 복원이 심볼릭
링크, 실행 파일 또는 특수 파일 시스템 항목을 발견하면 SandboxSnapshotError 코드
SANDBOX_SNAPSHOT_UNSUPPORTED_ENTRY와 함께 실패합니다. policy.exclude에서
스크립트, 훅 및 기타 실행 파일을 제외합니다. 일반 파일에 실행 비트가 설정되어 있으면
전체 캡처 또는 복원이 중지됩니다.
기본 제외 항목
기본 정책은 모든 깊이에서 다음 경로 세그먼트를 제외합니다.
.gitnode_modules.env*
또한 다음의 정확한 경로를 제외합니다.
- 워크스페이스 루트에만 있는 프로젝션 마커
.tanstack-projected-<workspaceHash>입니다. - 워크스페이스 루트의
CLAUDE.md및GEMINI.md입니다. - 직접적인
.claude/skills/<name>,.codex/skills/<name>및.grok/skills/<name>경로입니다.
이러한 제외 항목은 일반 파일과 복사된 파일의 경로에도 적용됩니다.
기본 정책 바꾸기
일부 파일 또는 하나의 파일만 유지하려면 유지할 파일 선택을
참조합니다. include만 전달하거나 redact만 전달하면 기본 제외 항목이 유지됩니다.
exclude를 전달하는 경우 먼저 defaultSandboxSnapshotPolicy()를 복사합니다. 그런
다음 규칙을 추가합니다.
import { defaultSandboxSnapshotPolicy } from '@tanstack/ai-sandbox'
const policy = {
...defaultSandboxSnapshotPolicy(),
redact({ bytes }: { bytes: Uint8Array }) {
return bytes
},
}
snapshots 객체를 만들 때 policy를 전달합니다. 다시 로드한 후 파일 유지를
참조합니다.
워크스페이스의 정확한 프로젝션 마커는 계속 보호됩니다. 사용자 지정 정책으로는 해당 마커를 캡처하거나 복원할 수 없습니다.
시크릿
확인된 시크릿 값은 콘텐츠를 해시하거나 저장하기 전에 0바이트로 대체됩니다.
복원 안전성
유효하지 않은 매니페스트, 누락된 blob 또는 변경된 blob 콘텐츠가 있으면 복원이 워크스페이스에 쓰기 전에 중지됩니다. 그런 다음 실패한 비공개 샌드박스가 삭제됩니다. 기존에 재개된 샌드박스는 변경되지 않은 상태로 유지됩니다.
프로바이더에서 프로바이더 네이티브 스냅샷 및 재개 지원을 확인합니다.