한 줄 목표
근로자가 계정 없이도 만료되는 보안 링크로 승인된 최소 안내만 확인하고, 제한된 응답과 요청 문서만 제출하도록 구현합니다.
근로자가 할 수 있는 행동
- 안내 확인
- 질문 있음
- 이해 안 됨
- 요청받은 파일 제출
링크 하나로 다른 업무·근로자·사업장 정보를 탐색할 수 없어야 합니다.
소유 API 4개
별도 재발급 endpoint를 만들지 않습니다. 발급 요청의 rotateExisting=true가 기존 링크를 폐기하고 새 링크를 발급하며, 같은 Idempotency-Key 재시도로 링크가 중복 생성되지 않아야 합니다.
구현 범위
기본 정책
- 재발급 시 이전 링크는 즉시 폐기합니다.
- 만료·폐기·변조 token은 존재 여부를 구분하지 않는 오류로 응답합니다.
- 자유 입력은 허용 목적, 길이, 파일 형식을 제한합니다.
- 업로드 완료가 곧 문서 승인이나 Task 완료를 뜻하지 않습니다.
- 자동 외부 메시지 발송은 MVP 범위가 아닙니다.
완료 조건
이번 이슈에서 하지 않는 것
- 근로자 계정과 비밀번호
- 공개 링크에서 HR 내부 메모 노출
- 범용 파일 공유·메시지 앱 자동 발송
- 바이러스 검사 인프라 전체 운영
선행/후속 관계
용어 도움말
- Token hash: token 원문을 복원하기 어렵게 변환해 저장한 값입니다.
- 격리 저장: 검증이 끝나기 전 제출 파일을 일반 문서와 분리하는 처리입니다.
- Rate Limit: 짧은 시간의 과도한 요청을 제한하는 규칙입니다.
한 줄 목표
근로자가 계정 없이도 만료되는 보안 링크로 승인된 최소 안내만 확인하고, 제한된 응답과 요청 문서만 제출하도록 구현합니다.
근로자가 할 수 있는 행동
링크 하나로 다른 업무·근로자·사업장 정보를 탐색할 수 없어야 합니다.
소유 API 4개
POST /tasks/{taskId}/worker-link— HR이 승인된 업무 링크 발급/회전GET /public/worker-links/{token}— 근로자용 최소 안내 조회POST /public/worker-links/{token}/documents— 토큰 범위의 문서 제출POST /public/worker-links/{token}/responses— 허용된 응답 제출별도 재발급 endpoint를 만들지 않습니다. 발급 요청의
rotateExisting=true가 기존 링크를 폐기하고 새 링크를 발급하며, 같은Idempotency-Key재시도로 링크가 중복 생성되지 않아야 합니다.구현 범위
WorkerLink,WorkerResponse, token-scoped upload 연결 모델과 migrationFileStorageport 사용, 검증된 ID만 response와 Task에 연결QUESTION,NOT_UNDERSTOOD, 문서 제출 시 HR 후속 업무/활동 이력 생성WORKER_LINK기록기본 정책
완료 조건
이번 이슈에서 하지 않는 것
선행/후속 관계
용어 도움말