Files
2026-10-18 15:06:44 +09:00

38 lines
3.0 KiB
Markdown

# 로컬 실행과 자료 보호
## 실행 주체와 권한
사용자는 FESA를 로컬에서 실행한다. 현재 제품에 계정·로그인·원격 API·서비스 인증은 없다.
실행 권한과 파일 접근 권한은 실행 중인 Windows 계정의 권한을 따른다. 제품 내부의
사용자별 권한 분리나 비신뢰 입력을 격리하는 sandbox가 있다고 가정하지 않는다.
실행에 사용하는 API key·서비스 token은 없으므로 발급·회전·폐기 절차도 현재 적용되지 않는다.
| 주체 | 허용되는 동작 | 조건과 금지되는 동작 |
| --- | --- | --- |
| 로컬 실행 사용자 | 입력 파일 읽기·해석·결과 저장 | 입력 읽기와 sibling 출력 위치의 OS 권한이 필요하다. 읽기 전용 입력 폴더에 대한 저장 성공을 보장하지 않는다. |
| 같은 결과 쌍을 쓰는 다른 실행 | lease 취득 후 실행 | 이미 점유된 쌍에는 쓰지 않는다. 점유 해제 목적으로 다른 프로세스의 lock을 임의 삭제하지 않는다. |
| 개발·검증 작업 | 승인된 입력의 작업 복사본에서 실행 | 기준자료 원본을 실행 위치로 사용하여 로그·결과를 만들거나 원본 값을 보정하지 않는다. |
| 자동화된 변경 작업 | 요청 범위의 코드·문서·검사 수정 | 원격 전송·외부 solver·비용 발생·release·파괴 작업은 명시적으로 승인된 범위에 한정한다. |
## 파일 실패와 기록
입력 읽기 실패·잘못된 문법·미지원 의미를 정상 빈 모델로 바꾸지 않는다.
출력 lease 생성 실패나 점유 충돌은 저장 실패다. Lease 취득 전에 공개 파일을 truncate하지 않는다.
해석·로그 close·candidate write·self-check·close·최종 교체 중 실패가 나면 정상 최종 결과를
새로 공개하지 않는다. 기존 최종 HDF5는 보존하지만 로그는 실패 진단으로 갱신될 수 있다.
기록 대상은 입력·모델·해법·저장 오류, source 위치·keyword·entity identity,
지원 의미의 warning과 해당 procedure의 증분·반복 기록이다. 로그는 운영 진단이며
변조 방지 감사 저장소가 아니다. 이전 HDF5의 존재를 이번 실행 성공의 증거로 사용하지 않는다.
## 자료 취급의 경계
기준 INP·CSV·TXT는 읽기 전용 검증 자산으로 취급한다. 원본 hash·identity를 보존하며
누락·충돌·불일치를 복원이나 zero-clamp로 숨기지 않는다.
로그와 결과에는 입력 경로·source 이름·물리 값이 들어갈 수 있다. 로컬 실행 승인은
이 자료의 외부 전송 승인까지 포함하지 않는다.
외부 배포 대상·dependency 재배포 조건·지원 환경은 아직 확정되지 않았다.
외부 입력의 격리나 자료 공유·보관 기간에 대한 별도 정책도 정해진 것으로 기록하지 않는다.
이 범위를 도입하는 작업에서는 적용할 사용 주체·공유 범위·파일 권한을 사용자와 정한다.