# SSOT 정책서

| 항목 | 내용 |
|---|---|
| 일정 | 사내 전체 배포 11월 말 |
| 데모 | [ssot-uxui-demo.miridih.app](https://ssot-uxui-demo.miridih.app) |
| 관련 문서 | [화면과 함께 보는 정책 슬라이드](https://ssot-uxui-demo.miridih.app/policy/), [화면 규칙 PR](https://github.com/miridih/ssot/pull/351), [DB 변경 PR](https://github.com/miridih/ssot/pull/352) |

## 1. 서비스 흐름

### 1.1 문서가 독자에게 나가는 순서

- 1.1.1 이 표에서 쓰는 말
  - 1.1.1.1 버전은 문서 본문을 저장한 한 번의 기록이며 v1, v2처럼 번호를 붙임.
  - 1.1.1.2 제안은 아직 발행되지 않은 버전이며, 같은 제안에 새 버전을 등록하면 번호가 마지막인 버전이 최신 제안이 됨.
  - 1.1.1.3 에이전트는 구성원이 연결한 AI 도구임.
  - 1.1.1.4 독자는 그 문서에서 담당자, 제안자, 리뷰어 역할이 없는 구성원임.

| 단계 | 하는 사람 | 하는 일 | 결과 |
|---|---|---|---|
| 1 | 제안자 | 에이전트로 새 문서를 등록하거나, 에이전트나 편집기로 새 버전을 등록함 | SSOT가 리뷰 중인 제안을 만들고, 독자에게는 이 제안을 표시하지 않음 |
| 2 | 제안자 | 리뷰어를 지정함 | SSOT가 리뷰어의 할 일에 리뷰 필요를 추가함 |
| 3 | 리뷰어 | 본문을 읽고 승인하거나 수정 요청 코멘트를 남김 | 필요한 승인 수를 채우고 미해결 수정 요청이 없으면 SSOT가 발행을 허용함 |
| 4 | 제안자 | 수정 요청이 있으면 코멘트를 해결하고 고친 버전을 다시 등록한 뒤, 다시 봐 줄 리뷰어에게 「다시 리뷰 요청」을 누름 | SSOT가 그 리뷰어의 할 일에 다시 리뷰 필요를 만들고 슬랙 메시지를 보냄 |
| 5 | 제안자, 담당자 | 제안을 발행함 | 독자, 검색, 에이전트가 이 버전을 읽음 |
| 6 | 담당자 | 유효 기간이 끝나 문서가 오래된 문서가 되면 최신 정보인지 확인함 | SSOT가 문서를 리뷰 완료로 되돌림 |


### 1.2 기본 원칙

- 1.2.1 읽기
  - 1.2.1.1 독자와 검색은 발행본만 읽음. 에이전트는 연결한 구성원이 읽을 수 있는 제안과 발행본을 읽음.
  - 1.2.1.2 담당자, 제안자, 그 제안의 리뷰어만 리뷰 중인 제안을 읽음.
- 1.2.2 역할
  - 1.2.2.1 한 문서에서 권한을 받는 역할은 담당자, 제안자, 리뷰어 세 가지뿐임. 발행자는 발행 기록에 남는 이름이며 SSOT가 이 이름에 권한을 주지 않음.
  - 1.2.2.1.1 SSOT는 지금 담당하는 역할에만 권한을 줌. SSOT는 예전에 담당했던 역할을 기록으로만 남김.
  - 1.2.2.2 구성원 역할은 어드민과 멤버 두 가지임. 멤버는 모두 같은 권한을 가짐. SSOT에는 읽기만 하는 계정이 없음.
  - 1.2.2.3 어드민은 시스템 관리만 함. 문서에서는 어드민도 다른 구성원처럼 자기가 맡은 역할의 권한만 가짐.
- 1.2.3 제안
  - 1.2.3.1 한 문서에는 리뷰 중인 제안이 하나만 있음.
  - 1.2.3.2 제안자가 그 제안을 이어서 고치고, 담당자가 필요하면 그 제안을 닫음.
- 1.2.4 안내
  - 1.2.4.1 SSOT는 권한이나 상태가 어떻게 바뀌어도 그 구성원이 할 수 없는 행동과 알 필요가 없는 내용만 숨김. 조건을 채우면 할 수 있는 행동은 비활성 버튼과 한 줄 안내로 표시함.
  - 1.2.4.2 SSOT는 알림을 서버에 30일 저장하고 읽음 표시도 서버에 저장함. 구성원이 기기를 바꿔도 같은 알림 상태를 표시함.

## 2. 사람과 역할

### 2.1 역할과 기록 이름 정의

| 역할 | 누구인가 | 바뀌는 때 |
|---|---|---|
| 담당자 | 문서를 책임지는 사람. 새 문서를 등록한 사람이 담당자가 되고, 등록할 때 다른 사람을 담당자로 정할 수도 있음. 담당자 변경이나 퇴사 인계로 이어받은 사람도 담당자임 | 담당자 변경 |
| 제안자 | 아직 발행되지 않은 버전인 제안을 등록한 사람. 새 문서를 등록한 구성원, 발행본에 새 제안을 등록한 담당자, 제안자를 이어받은 담당자가 제안자가 됨. 리뷰 중인 제안이 있는 동안에만 있고, 제안이 발행되거나 닫히면 사라짐 | 제안마다 다름. 제안자가 퇴사하거나 휴직하면 제안자 없음 상태가 되고, 담당자가 제안자를 이어받을 수 있음 |
| 발행자 | 지금 독자가 읽는 발행본을 발행한 사람. 발행 기록에 남는 이름이고 권한이 없음 | 발행할 때마다 다름. 담당자가 남이 제안한 버전을 발행하면 담당자가 기록됨 |
| 리뷰어 | 리뷰 중인 제안에 지정되어 승인이나 수정 요청을 하는 사람 | 제안마다 지정함. 같은 제안의 새 버전에서도 유지됨 |

### 2.2 화면에서 쓰는 말

- 2.2.1 화면은 사람을 담당자, 제안자, 발행자, 리뷰어로만 부름. 올린 사람, 작성자, 수정자는 쓰지 않음.
  - 2.2.1.1 발행본을 읽을 때 화면이 담당자 옆에 발행자를 표시함.
  - 2.2.1.2 제안을 읽을 때 화면이 담당자 옆에 제안자를 표시함.
  - 2.2.1.3 발행자나 제안자가 담당자와 같은 사람이면 SSOT가 둘째 이름을 표시하지 않음.
- 2.2.2 SSOT는 인사 정보에서 재직 상태를 받아 퇴사한 사람의 이름 뒤에 (퇴), 휴직 중인 사람의 이름 뒤에 (휴)를 붙임.
- 2.2.3 SSOT는 이어받은 제안에서 제안자 옆에 누구에게서 이어받았는지를 함께 표시함.

### 2.3 한 사람이 둘 이상의 역할을 겸하는 규칙

| 조합 | 가능 여부 | 이유 |
|---|---|---|
| 제안자이면서 같은 버전의 리뷰어 | 불가 | 자기 제안을 스스로 승인할 수 없음 |
| 같은 제안에 버전을 등록한 사람이면서 그 제안의 리뷰어 | 불가 | 자기가 쓴 버전을 스스로 승인할 수 없음 |
| 담당자이면서 남이 제안한 버전의 리뷰어 | 가능 | 담당자도 내용을 검토할 수 있음 |
| 담당자이면서 제안자 | 가능 | 담당자가 직접 등록한 경우임 |
| 담당자가 자기가 승인한 제안을 발행 | 가능 | 담당자는 발행을 결정하는 사람임 |

### 2.4 조직과 리드

- 2.4.1 SSOT는 인사 시스템인 플렉스에서 구성원 정보를 주기적으로 받아 반영함. SSOT는 입사, 퇴사, 휴직, 조직 변경, 리드 표시, CEO 표시를 모두 이 정보 그대로 반영함.
  - 2.4.1.1 퇴사일과 SSOT 화면에 반영되는 시각 사이에 시간 차이가 생길 수 있음.
- 2.4.2 재직 상태는 재직, 휴직, 퇴사 세 가지임.
  - 2.4.2.1 휴직자는 소속을 유지하고, 퇴사자는 소속이 없음. SSOT는 퇴사나 휴직을 처음 반영할 때 그 사람의 마지막 소속을 따로 저장하고, 인계에 필요한 리드 찾기는 이 마지막 소속으로 함.
  - 2.4.2.2 SSOT는 퇴사자의 이름과 기록을 지우지 않고 문서와 리뷰 기록에 그대로 남김.
  - 2.4.2.3 퇴사자는 회사 계정이 막히므로 SSOT와 에이전트 연결을 쓸 수 없음. SSOT는 퇴사 정보를 반영할 때 그 사람의 에이전트 토큰을 회수함.
  - 2.4.2.4 휴직한 사람도 퇴사한 사람처럼 담당자 인계, 리뷰어 자동 해제, 제안자 없음 상태의 대상이 됨. SSOT는 복귀해도 이 변경을 자동으로 되돌리지 않음. 다만 담당자가 재직으로 돌아오면 SSOT가 그 사람이 담당자인 문서의 담당자 지정 필요 상태를 풀고, 매일 자동 변경 대상에서 뺌.
  - 2.4.2.5 휴직자는 로그인해 문서를 읽고 코멘트를 달 수 있음. 휴직자에게는 역할과 할 일이 없음.
- 2.4.3 리드는 인사 명단에서 리드로 표시된 사람임.
  - 2.4.3.1 가까운 리드는 구성원의 파트, 팀, 그룹 순으로 확인해 처음으로 리드가 있는 단계의 리드임. 구성원 본인이 그 단계의 리드이면 SSOT가 그 단계를 건너뛰고 위 단계로 올라감. 리드가 없는 단계도 건너뜀.
  - 2.4.3.2 기능조직은 파트, 팀, 그룹처럼 구성원이 소속된 조직임. 구성원은 기능조직 한 곳에만 속하고 조직을 겸임하는 경우는 없음. SSOT가 리드를 자동으로 정하는 기준도 구성원이 속한 기능조직임.
  - 2.4.3.3 같은 이름의 조직이 둘 이상 있으면 SSOT가 이름 대신 조직 경로로 조직을 구분함. SSOT는 리드를 하나로 정할 수 없는 조직을 리드와 연결하지 않음.
  - 2.4.3.4 바로 위 리드는 가까운 리드가 속한 단계의 바로 위 단계부터 확인해 처음으로 리드가 있는 단계의 리드임.
  - 2.4.3.5 파트리드, 팀리드, 그룹리드는 각각 파트, 팀, 그룹의 리드임. 파트원은 파트에 속하고 리드 표시가 없는 구성원임.
- 2.4.4 어드민은 시스템 관리만 함. 어드민이 하는 일은 구성원의 역할 변경, 문서 담당자 변경, 문서 삭제와 복구, 변경 기록 확인임.
  - 2.4.4.1 어드민도 문서 내용에는 예외가 없음. 권한 없는 비공개 문서와 리뷰 중인 제안을 읽을 수 없고, 다른 사람의 제안을 고치거나 리뷰 없이 발행할 수 없음. 회사의 중요한 방향이 담긴 문서가 권한 없이 보이지 않게 하기 위함.
  - 2.4.4.2 어드민도 담당자, 제안자, 리뷰어, 공유받은 사람으로 지정되면 그 역할의 권한을 가짐.
- 2.4.5 최고 책임자는 인사 정보에서 CEO로 표시된 재직 중인 구성원 전원이며 현재 두 명임. SSOT는 CEO로 표시된 구성원을 항상 어드민으로 처리함. 재직 중인 CEO가 없으면 어드민 전원이 최고 책임자 역할을 함.

## 3. 문서 상태

### 3.1 문서 상태 네 가지

| 구분 | 값 | 정해지는 기준 | 표시하는 화면 |
|---|---|---|---|
| 발행 상태 | 발행 전, 발행본만 있음, 발행본과 제안이 함께 있음, 닫힘 | 발행, 제안 닫기 | 본문 위의 발행 안내 |
| 리뷰 상태 | 리뷰 중, 리뷰 완료, 오래된 문서 | 버전마다 정함. 제안은 리뷰 중, 발행본은 리뷰 완료이고 최신성 유효 기간이 지나면 오래된 문서 | 문서 정보 영역, 목록 카드, 검색 결과 |
| 진행 상태 | 승인 a/b, 수정 요청 있음, 수정 필요, 발행 대기, 발행 필요 | 리뷰어의 승인과 수정 요청, 코멘트 해결 여부 | 문서 정보 영역, 홈의 리뷰 중인 내 문서 |
| 신뢰도 | 100점 만점의 점수와 좋음, 보통, 낮음 등급 | 평가 | 문서 상태 영역 |

- 3.1.1 진행 상태의 이름은 보는 사람에 따라 다름. 아래 진행 표시 절의 표가 보는 사람별 이름을 정리함. 승인 a/b는 필요한 승인 b개 중 a개를 받았다는 뜻임.

### 3.2 발행 상태별 접근

| 발행 상태 | 독자 | 담당자, 제안자, 리뷰어 | 비고 |
|---|---|---|---|
| 발행 전 | 아직 발행되지 않아 볼 수 없다는 안내 화면 | 제안을 읽음 | 새 문서의 제안만 있는 상태임. 독자가 주소로 열면 안내 화면이 열림. 권한을 받아도 발행 전에는 읽을 수 없으므로 권한 요청 버튼이 없음 |
| 발행본만 있음 | 발행본을 읽음 | 발행본을 읽음 | 편집은 담당자만 함 |
| 발행본과 제안이 함께 있음 | 발행본만 읽음 | 제안과 발행본을 오가며 읽음 | 제안과 발행본이 다르다는 안내는 제안을 읽을 수 있는 사람에게만 본문 위에 표시함 |
| 닫힘 | 없는 문서와 같음 | 없는 문서와 같음 | 발행본이 없는 문서의 제안을 닫으면 문서가 닫힘. 어드민이 삭제해도 닫힘 |

- 3.2.1 제안을 닫는 버튼의 이름은 제안 닫기임. 제안자와 담당자가 닫을 때 이유를 적어야 하고, SSOT가 이유를 버전 이력에 남김.
- 3.2.2 발행본이 있는 문서의 제안을 닫으면 문서가 발행본만 있음 상태로 돌아감.
- 3.2.3 SSOT는 제안을 닫아 닫힌 문서를 되살리지 않음. 구성원이 같은 폴더에 새 문서를 등록할 수 있음. 삭제로 닫힌 문서는 어드민이 복구함.

### 3.3 리뷰 상태와 최신성

- 3.3.1 리뷰 상태는 세 가지임.
  - 3.3.1.1 리뷰 상태는 버전마다 정함. 리뷰 중은 아직 발행되지 않은 제안의 상태임. 발행본이 없는 새 문서는 리뷰 중으로 표시함.
  - 3.3.1.2 리뷰 완료는 발행본이 최신성 유효 기간 안에 있는 상태임. 문서 목록과 검색은 발행본의 리뷰 상태를 표시함.
  - 3.3.1.3 오래된 문서는 마지막으로 발행한 날짜나 최신 정보임을 확인한 날짜에 최신성 유효 기간을 더한 날(만료일)이 된 발행본의 상태임. 만료일 0시부터 오래된 문서임. 기록 유형 문서는 오래된 문서가 되지 않음.
  - 3.3.1.4 발행 조건은 발행하는 사람, 최신 제안 여부, 리뷰어 지정, 필요한 승인 수, 수정 요청 해결, 기준 발행본 일치의 여섯 가지임.
- 3.3.2 최신성 유효 기간은 기록 유형이 아닌 문서에서 180일임. 출시 범위에는 문서마다 유효 기간을 바꾸는 기능이 없음. SSOT는 마지막으로 발행한 날짜부터 유효 기간을 계산하고, 담당자가 최신 정보임을 확인하면 확인한 날짜부터 다시 계산함. 기록 유형 문서에는 유효 기간이 없으므로 SSOT가 오래된 문서로 바꾸지 않고 최신 정보인지 확인 필요 할 일도 만들지 않음.
  - 3.3.2.1 문서 유형을 기록에서 다른 유형으로 바꾸면 SSOT가 바꾼 날부터 유효 기간을 계산함.
  - 3.3.2.2 되돌리기로 다시 발행한 버전은 예외로, 되돌린 날이 아니라 그 버전이 처음 발행된 날부터 유효 기간을 계산함.
- 3.3.3 유효 기간이 끝나 문서가 오래된 문서가 되면 SSOT가 담당자의 할 일에 최신 정보인지 확인 필요를 만들고 담당자의 알림에 한 번 표시함. SSOT는 유효 기간이 끝나기 전에는 알리지 않음.
- 3.3.4 「최신 정보임을 확인했어요」 버튼은 문서가 오래된 문서가 된 뒤에 표시됨. 담당자가 최신 정보임을 확인하면 SSOT가 확인한 날짜부터 유효 기간을 새로 계산함. SSOT는 새 버전과 리뷰를 만들지 않고, 발행본을 한 번 자동으로 다시 평가함.
- 3.3.5 SSOT는 만료일부터 지난 일수를 「만료 N일 지남」으로 표시함. 이 표기는 홈과 할 일 카드, 문서 목록 카드, 검색 결과, 문서 정보 영역의 상태 옆에 같은 형식으로 쓰고, 「최신성 유효 기간 N일 지남」처럼 길게 쓰지 않음. SSOT는 할 일 카드에서 「최신 정보인지 확인 필요」 배지 옆에 「만료 41일 지남」처럼 표시함. 신뢰도 카드는 만료일 뒤에 같은 말을 붙임.
  - 3.3.5.1 SSOT는 만료일 당일에 「만료됨」을 표시함. 아직 유효한 문서에는 만료 표기를 쓰지 않음.

### 3.4 진행 표시

| 보는 사람 | 승인 진행 중 | 미해결 수정 요청이 있음 | 발행 조건을 모두 채움 |
|---|---|---|---|
| 제안자 | 승인 a/b | 수정 필요 | 발행 필요 |
| 담당자 | 승인 a/b | 수정 요청 있음 | 발행 필요 |
| 그 밖의 구성원 | 승인 a/b | 수정 요청 있음 | 발행 대기 |

- 3.4.1 미해결 수정 요청 코멘트가 있으면 SSOT가 승인 수와 상관없이 수정 필요나 수정 요청 있음을 표시함. 발행 조건을 모두 채우면 SSOT가 승인 a/b 표시를 없애고 발행 필요나 발행 대기를 표시함.
- 3.4.2 필요한 승인 수의 이유는 승인 a/b의 b에 마우스를 올리면 안내 문구로 표시됨.
- 3.4.3 수정 요청 있음은 해결하지 않은 수정 요청 코멘트가 있다는 뜻이며 승인 수에 영향을 주지 않음.

### 3.5 신뢰도

- 3.5.1 점수는 100점 만점이고 80점 이상은 좋음, 60점 이상 80점 미만은 보통, 60점 미만은 낮음임.
- 3.5.2 리뷰 상태가 점수의 최대를 정함. 리뷰 중인 문서는 79점까지, 오래된 문서는 59점까지만 받음.
- 3.5.3 평가가 없거나 실패했거나 원문이 맞지 않으면 SSOT가 점수 없이 그 사실을 알림. 조회에 실패해도 SSOT는 예시 점수를 대신 표시하지 않음.
- 3.5.4 신뢰도는 발행을 막지 않음. 점수가 60점 미만이어도 발행 조건을 채우면 발행할 수 있음.
- 3.5.5 SSOT는 아래 표의 앞 네 가지 상황에서 자동으로 평가하고, 마지막 행처럼 담당자와 리뷰 중인 제안의 제안자가 직접 요청할 수도 있음. 주기를 정해 반복하는 자동 평가는 없음.

| 상황 | 결과 |
|---|---|
| 새 버전을 등록함 | SSOT가 자동으로 평가함 |
| 발행되어 리뷰 상태가 리뷰 중에서 리뷰 완료로 바뀜 | SSOT가 그 버전을 자동으로 다시 평가함 |
| 최신성 유효 기간이 끝나 오래된 문서가 됨 | SSOT가 발행본을 한 번 자동으로 다시 평가함 |
| 담당자가 최신 정보임을 확인함 | SSOT가 발행본을 한 번 자동으로 다시 평가함 |
| 직접 요청 | 리뷰 중인 제안은 담당자와 그 제안의 제안자만 요청함. 발행본은 담당자만 요청함. 평가 중이거나, 마지막 평가 뒤 10초 안이거나, 오래된 문서이면 SSOT가 새 평가를 만들지 않음 |

- 3.5.6 서버가 버전마다 평가 진행 중 여부와 마지막 평가 시각을 저장함. 둘 이상의 사람이 동시에 눌러도 평가는 하나만 실행됨. 새 버전 등록과 자동 평가가 시작된 시각도 서버가 마지막 평가 시각으로 저장함.
  - 3.5.6.2 평가가 정해진 시간 안에 끝나지 않으면 SSOT가 실패로 처리하고 점수 없이 실패를 알림. 그 뒤에는 다시 평가를 요청할 수 있음. 시간은 개발팀이 평가 소요 시간을 재서 정함.
  - 3.5.6.1 자동 평가에는 10초 제한을 적용하지 않음. 자동 평가 때 이미 평가가 진행 중이면 SSOT가 그 평가가 끝난 뒤 한 번 더 평가함.
- 3.5.7 화면은 서버가 준 상태를 표시함. 서버는 열려 있는 화면에 신호를 보내 점수를 바꾸지 않음.

### 3.6 공개범위

- 3.6.1 공개범위는 문서 단위로 공개와 비공개 두 가지이고 기본은 공개임.
  - 3.6.1.1 로그인한 구성원 모두가 공개 문서를 읽음.
  - 3.6.1.2 아래 사람만 비공개 문서를 읽음. 어드민도 아래에 해당하지 않으면 읽을 수 없음.
    - 3.6.1.2.1 담당자
    - 3.6.1.2.2 현재 리뷰 중인 제안의 제안자
    - 3.6.1.2.3 리뷰 중인 제안의 리뷰어. 그 제안이 발행되거나 닫히면 더 읽을 수 없음
    - 3.6.1.2.4 사람이나 조직으로 공유받은 사람. 담당자가 팀이나 그룹으로 공유하면 그 아래 조직의 구성원도 공유받은 사람에 포함됨
- 3.6.2 리드는 자기 조직 아래의 조직에 공유된 문서도 읽음.
- 3.6.3 담당자만 공개범위와 공유 대상을 바꿈. 발행 전 문서도 바꿀 수 있고, SSOT는 발행 전 문서에서 바꾼 공개범위를 발행한 시점부터 적용함.
- 3.6.4 공개를 비공개로 바꾸면 SSOT가 읽을 수 없게 된 사람이 보는 홈의 모든 섹션, 문서 목록, 검색 결과, 관련 문서, 최근 열어본 문서, 알림 창에서 그 문서를 제외함. 다른 문서의 참조 문서에는 SSOT가 제목 대신 자물쇠 아이콘을 표시함.
- 3.6.5 담당자가 리뷰어를 해제하면 그 사람은 공유받은 사람이 아닌 한 그 비공개 문서를 읽을 수 없음. SSOT는 그 사람이 남긴 코멘트를 그대로 남김.
- 3.6.6 SSOT는 공유 대상 목록에서 퇴사한 사람의 이름 뒤에 (퇴)를 붙이고 자동으로 지우지 않음.

### 3.7 문서 유형

- 3.7.1 문서 유형은 정책, 가이드, 명세, 기록 네 가지임.
- 3.7.2 문서를 처음 등록하는 사람이 문서 유형을 정하고, 담당자가 바꿈. 문서 유형을 바꾸면 SSOT가 새 버전을 만들지 않고 바로 반영하며 버전 이력에 남김.

### 3.8 폴더와 문서 이름

- 3.8.1 폴더는 대분류, 중분류, 소분류 세 단계이고 네 단계 이상은 만들지 않음. 에이전트가 문서를 등록할 때 폴더를 정함.
  - 3.8.1.1 대분류는 15개로 고정이고, 대분류 목록을 바꾸려면 새 결정이 필요함.
  - 3.8.1.2 에이전트는 중분류를 정해 둔 목록에서 선택하고, 목록에 맞는 중분류가 없으면 그 문서를 등록하는 구성원의 승인을 받아 새로 만듦.
  - 3.8.1.3 에이전트는 소분류를 필요할 때 승인 없이 만듦.
  - 3.8.1.4 서버는 단계별 규칙을 강제하지 않고, 에이전트 안내가 이 규칙을 지키게 함.
- 3.8.2 화면에서는 폴더를 새로 만들거나 이름을 바꾸거나 지울 수 없음. 폴더는 에이전트가 문서를 등록할 때만 만들어짐.
- 3.8.3 같은 폴더에 같은 이름의 문서를 둘 수 없음. 에이전트가 같은 이름으로 등록하면 SSOT가 등록을 반려하고 사람에게 확인할 질문 문구를 함께 응답함. 닫힌 문서와 삭제된 문서는 이름 검사에서 빼고, 비공개 문서와 이름이 겹치면 반려 응답에 그 문서의 제목과 담당자를 넣지 않음. 새 버전에서 제목을 바꿔 같은 폴더의 다른 발행 문서와 이름이 같아지면 SSOT가 발행을 막음.

## 4. 권한

### 4.1 리뷰 중인 제안이 있는 문서

| 행동 | 담당자 | 제안자 | 그 제안의 리뷰어 | 독자 |
|---|---|---|---|---|
| 읽기 | 가능 | 가능 | 가능 | 발행본만 |
| 코멘트 달기 | 가능 | 가능 | 가능 | 발행본에만 |
| 승인, 승인 취소 | 리뷰어를 겸할 때 | 불가 | 가능 | 불가 |
| 수정 요청 코멘트 달기 | 리뷰어를 겸할 때 | 불가 | 가능 | 불가 |
| 이어서 고치기 | 불가. 제안을 닫고 새로 등록하거나 제안자를 이어받은 뒤에 가능 | 가능 | 불가 | 불가 |
| 제안자 이어받기 | 제안자 없음 상태일 때만 가능 | 불가 | 불가 | 불가 |
| 리뷰어 지정 | 불가 | 가능 | 불가 | 불가 |
| 리뷰어 해제 | 가능 | 가능 | 불가 | 불가 |
| 발행 | 가능 | 가능 | 불가 | 불가 |
| 코멘트 해결 | 가능 | 가능 | 불가 | 불가 |
| 제안 닫기 | 가능 | 가능 | 불가 | 불가 |
| 신뢰도 다시 평가 | 가능 | 가능 | 불가 | 불가 |
| 최신 정보 확인 | 가능 | 불가 | 불가 | 불가 |
| 되돌리기 | 가능 | 불가 | 불가 | 불가 |

- 4.1.1 제안자 없음 상태이면 표의 제안자 항목에 사람이 없고, SSOT가 담당자 항목을 그대로 적용함.
- 4.1.2 비공개 문서의 공유받은 사람은 리뷰 중인 제안을 읽을 수 없으므로 독자와 같음. 리뷰어로 지정되면 SSOT가 리뷰어 항목을 적용함.
- 4.1.3 리뷰 중인 제안이 이미 있으면 다른 사람은 새 제안을 등록할 수 없고 발행본에 코멘트로 의견을 남김. 어드민도 예외가 없음.
- 4.1.5 리뷰어는 편집하지 못하지만 참조 문서는 넣고 뺄 수 있음.
- 4.1.6 이어서 고치기는 「편집」이나 「AI로 수정」으로 최신 제안의 다음 버전을 등록하는 행동임.

### 4.2 발행본만 있는 문서

| 행동 | 담당자 | 비공개 문서의 공유받은 사람 | 독자 |
|---|---|---|---|
| 새 제안 등록 | 가능 | 불가 | 불가 |
| 이전 버전으로 되돌리기 | 가능 | 불가 | 불가 |
| 공개범위와 공유 대상 변경 | 가능 | 불가 | 불가 |
| 최신 정보 확인 | 가능 | 불가 | 불가 |
| 신뢰도 다시 평가 | 가능 | 불가 | 불가 |

- 4.2.1 리뷰어는 어느 상태에서도 편집할 수 없음. 리뷰어는 코멘트, 승인, 수정 요청과 참조 문서 넣고 빼기만 함.
- 4.2.2 SSOT는 구성원 누구나 새 제안을 등록하게 허용하지 않음.
- 4.2.3 신뢰도 다시 평가 버튼은 이 표와 리뷰 중인 제안이 있는 문서의 권한 표에서 가능인 사람에게만 표시됨.
- 4.2.4 발행본만 있는 문서에는 제안이 없으므로 제안자 항목이 없음. 발행자는 발행 기록에 남는 이름이며, 담당자가 아니게 된 뒤에는 이 표의 어느 권한도 가지지 않음.
- 4.2.5 리뷰 중인 제안이 있는 문서에서도 담당자만 되돌리기를 함.
- 4.2.6 공유받은 사람은 비공개 문서를 읽기만 하고 편집, 새 제안 등록, 되돌리기를 하지 못함.

### 4.3 코멘트 권한

| 행동 | 할 수 있는 사람 | 조건 |
|---|---|---|
| 코멘트 달기, 답글 달기 | 로그인한 구성원 | 읽을 수 있는 버전에만 가능함 |
| 코멘트 해결, 코멘트 다시 열기 | 담당자, 제안자 | 수정 요청을 남긴 리뷰어가 아니어도 해결할 수 있음. 수정 요청을 남긴 리뷰어가 아닌 사람이 해결하면 SSOT가 그 리뷰어의 알림에 표시함 |
| 코멘트 취소 | 코멘트를 단 사람 | 해결하지 않았고 다른 사람의 답글이 없을 때만 가능함 |
| 답글 삭제 | 답글을 단 사람 | 답글이 아닌 처음 코멘트는 삭제할 수 없고 취소만 할 수 있음 |

- 4.3.1 퇴사한 사람의 코멘트는 취소할 수 없고 해결로 닫음.

### 4.4 관리 기능 권한

| 기능 | 할 수 있는 사람 |
|---|---|
| 운영 관리: 사용자 관리와 변경 기록 | 어드민 |
| 퇴사나 휴직한 담당자 문서의 담당자 변경 | SSOT의 자동 변경, 그 담당자의 가까운 리드, 그 바로 위 리드, 어드민 |
| 재직자의 담당자 변경 | 그 구성원의 가까운 리드, 그 바로 위 리드, 어드민. 재직자의 비공개 문서는 어드민만 |
| 담당자 지정 필요 카드 보기 | 최고 책임자. 최고 책임자는 CEO로 표시된 재직 중인 구성원이고 항상 어드민임. 재직 중인 CEO가 없으면 어드민 전원 |
| 문서 삭제와 삭제한 문서 복구 | 어드민 |

## 5. 화면 공통

### 5.1 상단 메뉴

- 5.1.1 구성
  - 5.1.1.1 상단 메뉴의 왼쪽에 로고, 홈, 문서, 할 일이 있음. 구성원이 로고를 누르면 SSOT가 홈으로 이동함. 할 일 옆에 그 구성원의 할 일 카드 수가 붙음. 담당자 지정 필요 카드도 1건으로 셈.
  - 5.1.1.2 상단 메뉴의 오른쪽에 에이전트 연결, 문서 검색, 알림, 계정 메뉴가 있음.
- 5.1.2 SSOT는 지금 보는 메뉴 아래에 현재 위치를 나타내는 점을 표시하고, 메뉴를 바꾸면 점도 함께 이동함. 할 일 목록에서 연 문서에서는 SSOT가 할 일 메뉴 아래에만 점을 표시함.
- 5.1.3 계정 메뉴는 이름과 이메일, 운영 관리, 담당자 변경, 화면 테마, 로그아웃 순서로 항목을 나열함. SSOT는 운영 관리를 어드민에게만, 담당자 변경을 리드와 어드민에게만 표시함. 어드민이면서 리드인 사람에게도 담당자 변경을 한 번만 표시함.
- 5.1.4 알림 종 아이콘에 안 읽은 알림이 있으면 SSOT가 점을 표시함. 읽음 표시는 서버에 저장되므로 기기를 바꿔도 같음.

### 5.2 본문과 접근

- 5.2.1 SSOT는 로그인한 구성원에게만 화면을 엶. 로그인 전에는 로그인 화면만 열리고, 동의 화면은 로그인한 뒤에 열림.
- 5.2.2 상단 메뉴는 고정되고 그 아래 화면 내용만 스크롤됨.
- 5.2.3 키보드로 이동하면 본문으로 바로 가는 링크가 첫 번째로 나타남.
- 5.2.4 구성원이 존재하지 않는 주소를 열면 SSOT가 없음 화면을 표시함. 발행본이 있는 문서를 읽을 수 없으면 SSOT가 권한 없음 화면을 표시하고 담당자에게 권한을 요청하는 버튼을 둠. 권한 없음 화면에는 문서 제목과 담당자 이름을 표시하지 않음. 삭제되거나 닫힌 문서는 없음 화면을 표시함. 권한 없음 화면의 그림은 돋보기 모양임. 발행 전 문서를 읽을 수 없으면 SSOT가 아직 발행되지 않아 볼 수 없다는 안내 화면을 표시하고 권한 요청 버튼을 두지 않음.
- 5.2.5 구성원이 권한을 요청하면 SSOT가 담당자의 알림에 요청한 사람을 표시하고, 요청한 사람에게는 요청했다는 안내만 표시함. 담당자는 문서의 공개범위와 공유 대상 설정에서 그 사람을 공유 대상에 넣음. 담당자가 공유 대상에 넣으면 SSOT가 요청한 사람의 알림에 권한이 생겼다는 안내를 표시함. 문서가 담당자 지정 필요 상태이면 SSOT가 요청을 대기로 두고 새 담당자가 정해질 때 새 담당자에게 전달함. 담당자가 바뀌면 처리되지 않은 요청을 새 담당자에게 다시 전달함. 담당자가 요청한 사람을 공유 대상에 넣거나 알림에서 거절하면 요청이 끝나고, 그 뒤에는 다시 요청할 수 있음.

### 5.3 화면 폭에 따른 동작

| 폭 | 달라지는 내용 |
|---|---|
| 폭 1280px 이상 | 문서 상태 영역이 본문 옆에 항상 표시됨 |
| 폭 1280px 미만 | 문서 상태 영역이 본문 옆에서 빠지고, 화면 아래 「문서 상태」 버튼을 누르면 오른쪽에서 열리는 패널로 표시됨 |
| 폭 768px 미만 | 검색창이 아이콘으로 바뀌고, 아이콘을 누르면 상단 메뉴 아래에 검색 행이 열림 |
| 폭 400px 미만 | 홈 메뉴가 숨겨지고 로고가 홈 이동을 대신함 |

- 5.3.1 지원 기기는 PC와 태블릿 웹임. 폰 폭 동작은 좁은 창에서도 화면이 깨지지 않게 하는 보조 동작임.

### 5.4 화면 테마

- 5.4.1 구성원은 계정 메뉴에서 라이트, 다크, 시스템 중에 화면 테마를 선택함.
- 5.4.2 SSOT는 선택한 값을 그 브라우저에 저장함.

## 6. 할 일과 알림

### 6.1 할 일 종류

| 할 일 | 받는 사람 | 있는 동안 |
|---|---|---|
| 리뷰 필요 | 리뷰어 | 리뷰어로 지정되었고 아직 승인도 수정 요청도 하지 않았을 때 | 승인하거나 수정을 요청할 때. 필요한 승인이 모이면 남은 리뷰어의 할 일도 없어짐 |
| 다시 리뷰 필요 | 리뷰어 | 제안자가 「다시 리뷰 요청」을 눌렀고, 그 리뷰어가 아직 승인도 수정 요청도 하지 않았을 때 |
| 수정 필요 | 제안자. 제안자 없음 상태이면 담당자 | 리뷰 중인 제안에 미해결 수정 요청 코멘트가 있을 때 |
| 발행 필요 | 제안자와 담당자 | 리뷰 중인 제안이 발행 조건을 모두 채웠을 때 |
| 최신 정보인지 확인 필요 | 담당자 | 문서가 오래된 문서이고 담당자가 아직 확인하지 않았을 때. 담당자 지정 필요 상태였다가 새 담당자가 정해지면 새 담당자가 받음 |
| 담당자 지정 필요 | 최고 책임자 | 매일 자동 변경이 새 담당자를 찾지 못한 퇴사자나 휴직자의 문서가 있을 때 |

- 6.1.1 할 일 카드는 할 일 목록에서 문서 하나를 나타내는 카드임. 담당자 지정 필요 카드만 예외로 문서 여러 건을 묶음. 한 문서에 할 일이 둘 이상이면 SSOT가 한 카드에 함께 표시하고, 카드 안에서는 할 일 화면 절의 급한 순 표의 순서로 나열함. 카드는 그 카드에서 가장 급한 할 일의 자리에 놓임.
- 6.1.2 구성원이 제안자나 담당자인 문서 중 그 구성원이 지금 할 일이 없는 문서는 할 일에 나타나지 않음.
- 6.1.3 구성원이 카드를 열어도 카드는 사라지지 않음. SSOT는 카드의 발생 조건이 해소될 때만 카드를 지움. 제안이 발행되거나 닫히거나 문서가 삭제되면 그 제안에 걸린 할 일이 모두 없어짐.
- 6.1.4 SSOT는 담당자 지정 필요 카드를 홈과 할 일 목록의 맨 앞에 표시함. 할 일 목록에서는 할 일 종류 칩을 고르지 않고 문서 유형과 담당자 필터도 쓰지 않을 때만 표시하고, 발행 필요 같은 할 일 종류 칩이나 다른 필터로 걸러 보면 표시하지 않음.
- 6.1.5 SSOT는 구성원이 새로 담당자가 된 문서와 그 구성원이 제안한 버전이 발행된 일을 할 일로 만들지 않고 알림으로만 표시함.
- 6.1.6 맨 앞에 표시되는 카드는 담당자 지정 필요 카드뿐이고, 나머지 카드는 구성원이 고른 정렬을 따름. 기본은 급한 순임.
- 6.1.7 담당자 지정 필요 카드의 위쪽 이름표는 「담당자 변경」이고 제목은 「담당자 지정이 필요한 문서」이며, 맨 아래 배지는 「문서 N건」으로 같은 말을 되풀이하지 않음. 카드에서 이름 뒤에 (퇴)나 (휴)가 붙음. 이 카드는 문서 여러 건을 묶은 카드이고, 누르면 담당자 변경 화면으로 이동함. 문서 화면의 이전 할 일과 다음 할 일 이동 순서에서 빠짐.
- 6.1.8 리뷰어로 지정된 지 2주가 지나도 승인도 수정 요청도 하지 않으면 SSOT가 그 리뷰어의 리뷰 필요 카드 상태를 리뷰 기한 지남으로 바꿈. SSOT는 카드를 따로 만들지 않고 상태만 바꾸며, 리뷰어와 제안자의 알림에 한 번 표시함.
  - 6.1.8.1 2주는 리뷰어로 지정된 때부터 셈. 새 제안이 이전 리뷰어를 이어받으면 새 제안이 시작된 때를 지정된 때로 셈. 리뷰어를 해제한 뒤 다시 지정하면 다시 지정한 때부터 셈. 새 버전이 등록돼도 SSOT는 2주를 다시 시작하지 않음. 다시 리뷰를 요청받으면 요청받은 때부터 2주를 다시 셈.
  - 6.1.8.2 리뷰어가 승인이나 수정 요청을 하면 리뷰 기한 지남 상태가 사라짐. 필요한 승인 수를 채워 카드가 사라질 때도 이 상태가 같이 사라짐.

### 6.2 알림

- 6.2.1 알림은 바뀐 내용을 알림. 구성원이 알림을 누르면 SSOT가 그 문서의 현재 화면을 열고, 알림이 알린 변경은 그 화면에 반영돼 있음.
- 6.2.2 알림 창은 스크롤하면 서버에 저장된 지난 30일의 알림을 계속 이어서 불러와 모두 표시함.
- 6.2.3 SSOT가 알림을 보내는 상황은 아래 표가 전부임. 슬랙 메시지 열이 「보냄」인 상황은 슬랙 다이렉트 메시지 절의 규칙도 따름.

| 상황 | 받는 사람 | 슬랙 메시지 |
|---|---|---|
| 리뷰어로 지정됨 | 그 리뷰어 | 보냄 |
| 수정 요청 코멘트가 달림 | 제안자. 제안자 없음 상태이면 담당자 | 보냄 |
| 내가 남긴 수정 요청이 해결됨 | 그 수정 요청을 남긴 리뷰어 | 알림만 |
| 리뷰어에서 해제됨 | 해제된 리뷰어 | 알림만 |
| 승인이 도착함 | 제안자, 담당자. 승인 한 건마다 한 줄이고 지금 승인 수를 함께 알림 | 제안자에게 보냄 |
| 승인한 뒤 같은 제안에 새 버전이 등록됨 | 승인한 리뷰어 | 알림만 |
| 다시 리뷰를 요청받음 | 그 리뷰어 | 보냄 |
| 발행할 수 있게 됨 | 제안자, 담당자 | 알림만 |
| 코멘트나 답글이 달림 | 담당자, 제안자, 그 코멘트를 처음 단 사람. 수정 요청이 아닌 코멘트와 답글은 할 일을 만들지 않음 | 알림만 |
| 제안이 발행됨 | 제안자, 담당자, 리뷰어 | 담당자와 리뷰어에게 보냄 |
| 제안이 닫힘 | 제안자 | 보냄 |
| 새로 담당자가 됨 | 새 담당자 | 알림만 |
| 재직 중에 담당자에서 빠짐 | 이전 담당자 | 알림만 |
| 권한 요청 | 담당자 | 알림만 |
| 권한이 생김 | 권한을 요청한 사람 | 알림만 |
| 퇴사나 휴직으로 리뷰어가 해제되어 한 명도 남지 않음 | 제안자 | 알림만 |
| 리뷰 중인 제안의 제안자가 퇴사하거나 휴직함 | 담당자. 제안자를 이어받을 수 있다고 알림 | 알림만 |
| 진행 중인 제안이 있는 문서를 삭제하거나 복구함 | 담당자, 제안자, 리뷰어 | 알림만 |
| 이전 버전으로 되돌림 | 담당자. 리뷰 중인 제안이 있으면 그 제안의 제안자와 리뷰어 | 알림만 |
| 유효 기간이 끝나 오래된 문서가 됨 | 담당자 | 알림만 |
| 리뷰 기한 지남 | 그 리뷰어, 제안자. 제안자 없음 상태이면 담당자 | 알림만 |

- 6.2.4 읽음 표시는 서버에 저장되므로 다른 기기에서도 같음. 구성원이 알림을 누르면 그 알림만 읽음이 되고, 알림 창의 「모두 읽음」으로 한 번에 읽음 처리함.
- 6.2.5 SSOT는 행동한 본인과 퇴사자, 휴직자에게 알림을 보내지 않음.
- 6.2.6 알림 창과 알림 종 아이콘의 점은 화면을 새로 고치거나 다른 화면으로 이동할 때 갱신함. 서버가 열린 화면에 알림을 바로 넣지 않음.

### 6.3 슬랙 다이렉트 메시지

| 상황 | 받는 사람 | 보내는 시점 | 같은 상황이 다시 생기면 |
|---|---|---|---|
| 리뷰어로 지정됨 | 그 리뷰어 | 지정한 시점 | 해제한 뒤 다시 지정하면 다시 보냄 |
| 리뷰어가 승인하거나 수정 요청을 남김 | 제안자 | 답한 시점 | 답할 때마다 보냄 |
| 다시 리뷰를 요청받음 | 그 리뷰어 | 제안자가 요청한 시점 | 다시 요청하면 다시 보냄 |
| 제안이 발행됨 | 담당자와 리뷰어 | 발행한 시점 | 제안마다 한 번 보냄 |
| 제안이 닫힘 | 제안자 | 닫은 시점 | 제안마다 한 번 보냄 |

- 6.3.1 SSOT는 행동한 사람 본인에게 슬랙 메시지를 보내지 않음.
- 6.3.2 SSOT는 위 다섯 가지 상황에만 슬랙 메시지를 보내고, 나머지 변경은 알림 종 아이콘에만 표시함.
- 6.3.3 SSOT는 퇴사자와 휴직자에게 슬랙 메시지를 보내지 않음. 문서가 담당자 지정 필요 상태이면 담당자에게 가는 슬랙 메시지도 보내지 않음.
- 6.3.4 슬랙 메시지는 무슨 일이 있었는지 알리는 한 줄과 문서를 여는 버튼 하나로 구성됨.
- 6.3.5 SSOT는 지금은 지정한 사람에게만 슬랙 메시지를 보내고, 시범 기간을 거친 뒤 전체 구성원으로 넓힘. 넓히는 시점은 아직 정하지 않음.
- 6.3.6 슬랙 전송이 실패해도 같은 내용이 알림 종 아이콘에 표시되며, SSOT는 슬랙으로 다시 보내지 않음.

## 7. 화면별 동작

### 7.1 홈

- 7.1.1 홈은 위에서 아래로 인사말과 홈 검색창, 할 일, 리뷰 중인 내 문서, 최근 열어본 문서, 최근 발행된 문서 섹션을 표시함. SSOT는 내용이 없는 섹션을 숨김.
  - 7.1.1.1 인사말은 시간대에 따라 바뀜. 금요일 낮에는 「즐거운 금요일 되세요」, 금요일 19시부터 토요일 5시 전까지는 「즐거운 주말 되세요」를 표시함.
- 7.1.2 구성원이 홈 검색창에 검색어를 넣고 엔터를 누르면 SSOT가 검색 결과 화면으로 이동함.
- 7.1.3 할 일 섹션
  - 7.1.3.1 SSOT는 급한 순으로 카드를 6개까지 표시하고, 섹션 제목을 누르면 할 일 목록으로 이동함.
  - 7.1.3.2 담당자 지정 필요 카드가 있으면 SSOT가 이 카드를 맨 앞에 표시하고 나머지 카드를 5개로 줄임.
  - 7.1.3.3 할 일이 없으면 SSOT가 할 일 섹션을 숨김. 에이전트를 한 번도 연결하지 않은 구성원에게 SSOT가 홈에 에이전트 연결 안내를 표시함. 동의 화면에서 허용한 기록이 있으면 연결한 구성원으로 봄. 구성원은 안내를 닫을 수 있고, 닫으면 그 브라우저에서 다시 표시하지 않음.
- 7.1.4 리뷰 중인 내 문서 섹션은 구성원이 제안한 문서 중 리뷰를 기다리는 문서와 승인 진행을 표시함. SSOT는 이미 할 일 카드로 표시한 문서를 이 섹션에 다시 표시하지 않음.
- 7.1.5 최근 열어본 문서는 그 브라우저의 열람 기록이며, SSOT는 지금 읽을 수 없게 된 문서를 제외함.
- 7.1.6 최근 발행된 문서 섹션은 7일 안에 발행된 문서 중 그 구성원이 읽을 수 있는 문서만 표시함.
- 7.1.6.1 리뷰 중인 내 문서, 최근 열어본 문서, 최근 발행된 문서 섹션도 할 일 섹션과 같은 줄 수로 자르고, 섹션 제목을 누르면 전체 목록으로 이동함.
- 7.1.7 SSOT가 어떤 섹션의 내용을 불러오지 못하면 그 섹션만 빼고 나머지 섹션을 그대로 표시함.

### 7.2 할 일

- 7.2.1 목록
  - 7.2.1.1 카드 하나가 문서 하나임. 담당자 지정 필요 카드만 예외임. 한 페이지는 50건임.
  - 7.2.1.2 구성원이 할 일 종류를 고르는 선택 버튼인 칩으로 할 일을 필터링함. 종류가 하나뿐이면 SSOT가 칩을 표시하지 않음.
  - 7.2.1.2.1 칩으로 필터링해도 카드 안의 할 일 종류 배지는 그대로 표시함. 목록을 내려가면 칩이 화면에서 벗어나므로 카드만 봐도 어떤 할 일인지 알 수 있어야 함.
  - 7.2.1.3 구성원이 문서 유형과 담당자로도 필터링함. 필터에 맞지 않는 카드는 목록에서 제외되고, SSOT가 필터 값을 주소에 포함해 그대로 공유할 수 있게 함.
- 7.2.2 정렬은 기본이 급한 순이고, 구성원이 최근 등록순으로 바꿀 수 있음. 급한 순은 아래 표의 순서이며, 같은 순서에서는 할 일이 생긴 시각이 이른 순으로 나열함.

| 순서 | 할 일 종류 또는 상태 |
|---|---|
| 1 | 리뷰 기한 지남 |
| 2 | 리뷰 필요, 다시 리뷰 필요, 수정 필요 |
| 3 | 발행 필요 |
| 4 | 최신 정보인지 확인 필요 |

- 7.2.3 구성원이 할 일 목록이나 홈의 할 일 섹션에서 카드를 누르면 SSOT가 그 문서를 열고, 문서 화면에 이전 할 일과 다음 할 일 이동 버튼을 표시함. 칩, 정렬, 페이지 번호도 주소에 포함함.
  - 7.2.3.1 이동은 같은 필터와 같은 정렬 안에서만 이뤄지고, 목록의 끝에서는 그 이동 버튼이 없음.
- 7.2.4 구성원이 문서를 발행하면 SSOT가 발행 완료 화면을 표시하고, 남은 할 일이 있으면 다음 할 일로 가는 버튼도 함께 표시함.

### 7.3 문서 목록

- 7.3.1 구성원이 폴더 목록에서 폴더를 선택하면 SSOT가 그 폴더와 그 아래 모든 단계의 문서를 표시함. 폴더별 문서 수는 하위 폴더를 포함한 읽을 수 있는 발행본 기준임.
- 7.3.2 필터와 정렬 항목은 아래 표와 같음.

| 항목 | 선택지 |
|---|---|
| 문서 유형 | 정책, 가이드, 명세, 기록 |
| 상태 | 리뷰 완료, 오래된 문서, 리뷰 중인 제안 있음, 삭제됨. 리뷰 중인 제안 있음은 다른 상태와 겹쳐 셈. 삭제됨은 어드민에게만 표시됨 |
| 기간 | 마지막 발행일 기준 7일, 30일, 90일 |
| 담당자 | 구성원 이름 |
| 정렬 | 최근 변경순, 이름순, 최신성 유효 기간이 끝나는 날이 이른 순. 기본은 최근 변경순이고, 유효 기간순에서 기록 유형 문서는 맨 뒤임 |

- 7.3.3 필터, 정렬, 폴더, 페이지 번호는 모두 주소에 포함되므로 뒤로 가기를 누르면 이전 필터 상태로 돌아감. 한 페이지는 50건임.
- 7.3.4 목록은 읽을 수 있는 발행본 기준이며 제목과 요약은 발행본의 값임. 발행본이 없는 새 문서는 최신 제안의 제목과 요약을 씀. 삭제된 문서는 상태에서 삭제됨을 선택한 어드민의 목록에만 나오고, 카드에 복구 버튼이 있음.
- 7.3.5 「리뷰 중인 제안 있음」 목록은 구성원이 제안했거나 담당하거나 리뷰어로 지정된 문서 중에서 리뷰 중인 제안이 있는 문서만 포함함.
- 7.3.6 구성원이 카드를 누르면 SSOT가 그 문서 화면으로 이동함. 결과가 없으면 SSOT가 이유와 필터 해제 방법을 표시함.

### 7.4 검색

- 7.4.1 상단 메뉴의 검색창과 홈의 검색창은 같은 검색 화면으로 이동함. 검색어, 상태, 대분류, 페이지 번호가 주소에 포함됨. 대분류는 폴더의 첫 단계임.
- 7.4.2 검색 대상은 읽을 수 있는 발행본임. 검색어는 최대 500자이고 결과는 한 페이지 50건이고 최대 100페이지까지 넘길 수 있음.
- 7.4.3 SSOT는 본문 일치 정도와 리뷰 상태를 함께 반영해 결과를 정렬함. 구성원이 상태 칩으로 리뷰 완료와 오래된 문서를 필터링함.
- 7.4.4 검색어가 비어 있으면 SSOT가 입력을 안내하고, 결과가 없으면 「맞는 문서 없음」과 함께 리뷰 중인 문서는 발행 뒤 검색된다고 알리고, 문서 목록으로 가는 버튼을 둠.
- 7.4.5 검색 시스템을 쓸 수 없으면 SSOT가 결과를 표시하지 않고 쓸 수 없다고 안내함.
- 7.4.6 발행 직후에는 검색에 반영되기 전이므로 결과에 문서가 아직 없을 수 있음. 구성원은 문서 상태 영역의 상세 정보 안 발행 진행에서 반영 단계를 확인함.

### 7.5 문서 화면

#### 7.5.1 구성

- 7.5.1.1 문서 화면은 문서 정보 영역, 콘텐츠 영역, 문서 상태 영역 세 영역으로 나뉨. 문서 정보 영역은 위쪽, 콘텐츠 영역은 그 아래 왼쪽, 문서 상태 영역은 오른쪽에 있음. 콘텐츠 영역에는 위에서 아래로 발행 안내, 문서 본문, 본문 아래 코멘트가 있음.
- 7.5.1.2 문서 상태 영역은 발행본과 리뷰 중인 제안 모두 신뢰도, 참조 문서, 관련 문서, 상세 정보, 리뷰어, 코멘트 순서로 표시함. 리뷰어 항목은 그 문서의 담당자, 제안자, 리뷰어에게만 표시하고 독자에게는 표시하지 않음.
- 7.5.1.3 문서 정보 영역은 상태, 제목, 폴더 경로, 담당자, 날짜, 버튼을 표시함. 날짜는 문서가 아니라 지금 화면에 보이는 버전의 상태로 정함.
  - 7.5.1.3.1 발행본을 보고 있으면 「마지막 발행」이며 가장 최근에 발행한 날임.
  - 7.5.1.3.2 기록 유형 문서의 발행본을 보고 있으면 「기록일」이며 처음 발행한 날로 고정함. 다시 발행해도 바뀌지 않음.
  - 7.5.1.3.3 리뷰 중인 제안을 보고 있으면 문서 유형과 상관없이 「새 버전 제안일」이며 지금 보고 있는 제안 버전을 등록한 날임. 새 버전을 등록하면 그 날로 바뀜. 발행본이 없는 새 문서도 같음.
  - 7.5.1.3.4 「발행본 보기」로 발행본과 제안을 오가면 날짜도 함께 바뀜.
- 7.5.1.4 보는 버전
  - 7.5.1.4.1 담당자, 제안자, 리뷰어는 기본으로 최신 제안을 보고, 발행본 보기 버튼으로 발행본과 제안을 오감.
  - 7.5.1.4.2 독자는 발행본만 봄.
  - 7.5.1.4.3 제안과 발행본이 다르면 SSOT가 발행 안내를 본문 위에 표시함. 발행본 화면에서는 제안을 읽을 수 있는 사람에게만 리뷰 중인 제안이 있다고 알리고 제안 보기로 이동하게 함.
- 7.5.1.5 리뷰 중인 제안이 있는 문서에서 발행본을 보는 동안에는 SSOT가 편집과 AI로 수정 버튼을 표시하지 않음. 발행본만 있는 문서에서는 담당자에게 두 버튼을 표시함. 편집은 언제나 최신 제안의 다음 버전으로 새 버전을 등록함.
- 7.5.1.6 SSOT는 리뷰어가 본문을 어디까지 읽었는지 기록하지 않고, 승인 버튼을 읽은 위치와 상관없이 표시함. 새 버전이 등록되면 리뷰어는 바뀐 본문을 읽고 승인함.
- 7.5.1.7 상세 정보는 접힌 채 시작하고, 펼치면 버전 이력, 리뷰 기록, 발행 진행을 표시함. 상세 정보에는 문서 정보 영역에 이미 있는 위치, 담당자, 날짜를 되풀이하지 않음. 발행된 버전의 이력은 그 문서를 읽을 수 있는 모든 구성원에게 표시함. 제안한 버전의 이력과 리뷰 기록은 담당자, 제안자, 리뷰어에게만 표시함.

#### 7.5.2 코멘트

- 7.5.2.1 남기기
  - 7.5.2.1.1 구성원이 본문에서 글을 선택해 코멘트를 달면 SSOT가 그 글에 코멘트를 연결하고 본문에 강조를 표시하며, 코멘트 목록에 그 글을 인용 문장으로 표시함.
  - 7.5.2.1.2 코멘트는 문서 상태 영역 맨 아래와 본문 아래 두 곳에 있고, 두 곳 모두 코멘트 목록과 입력창을 표시함. 두 입력창은 같은 초안을 공유함.
  - 7.5.2.1.3 답글은 한 단계만 달 수 있음.
  - 7.5.2.1.4 리뷰어가 코멘트 입력창에서 「수정 요청」 탭을 고르면 탭 오른쪽에 「수정 요청이 해결될 때까지 발행할 수 없어요」를 표시함. 본문 글을 선택해 여는 입력창은 안내 줄 없이 입력칸 안 안내 문구로 같은 내용을 알림.
- 7.5.2.2 보기
  - 7.5.2.2.1 구성원이 코멘트를 미해결과 해결됨으로 필터링함.
  - 7.5.2.2.2 SSOT는 해결된 코멘트를 본문에 강조하지 않고, 목록의 인용 문장도 눌리지 않게 함.
- 7.5.2.3 새 버전이 등록될 때
  - 7.5.2.3.1 같은 제안 안에서 새 버전이 등록되면 SSOT가 앞 버전의 미해결 코멘트를 이어서 표시하고, 몇 번째 버전의 코멘트인지와 인용 문장이 바뀌었는지를 알림.
  - 7.5.2.3.2 제안이 닫히고 새 제안이 시작되면 SSOT가 닫힌 제안의 코멘트를 이어서 표시하지 않음. 발행본의 미해결 코멘트는 새 제안 화면에 「발행본 코멘트」로 함께 표시함.
  - 7.5.2.3.3 제안을 발행하면 그 제안의 미해결 코멘트를 새 발행본에 이어서 표시함.
- 7.5.2.4 SSOT는 제안자에게 미해결 코멘트를 에이전트에게 붙여 넣을 글로 복사하는 버튼을 표시함.

#### 7.5.3 리뷰어와 승인

- 7.5.3.1 리뷰어 지정과 해제
  - 7.5.3.1.1 그 제안의 제안자와 어드민만 리뷰어를 지정하고, 리뷰어는 사람 단위로 들어감. 리뷰어 추가 검색에서 파트를 고르면 SSOT가 그 파트의 파트원을 한 명씩 리뷰어로 지정하고, 지정할 수 없는 사람과 이미 리뷰어인 사람은 건너뜀. 팀과 그룹은 검색에 나오지 않음.
  - 7.5.3.1.2 지정할 수 없는 사람은 그 제안의 제안자, 그 제안에 버전을 등록한 사람, 퇴사자, 휴직자임. 후보 목록에서 휴직자는 이름 뒤에 (휴)가 붙고 선택할 수 없음.
  - 7.5.3.1.3 담당자, 제안자, 어드민이 리뷰어를 해제함. 해제 버튼은 항상 표시되고, 누르면 확인 창이 열림. SSOT는 해제한 사람과 해제된 리뷰어를 리뷰 기록에 남기고, 해제된 리뷰어의 알림에 표시함.
  - 7.5.3.1.4 SSOT는 퇴사하거나 휴직한 리뷰어를 자동으로 해제하고, 복귀해도 다시 지정하지 않음.
  - 7.5.3.1.5 리뷰어 영역의 + 버튼을 누르면 리뷰어 카드 가운데에 검색칸이 달린 드롭다운이 열림. 구성원이 이름, 이메일, 파트 이름을 입력하면 입력을 멈추고 0.25초 뒤 결과를 표시하고, 결과를 고르면 리뷰어로 지정하고 드롭다운을 닫음. 드롭다운 밖을 누르거나 Esc를 누르면 지정하지 않고 닫힘.
- 7.5.3.2 필요한 승인 수
  - 7.5.3.2.1 SSOT는 남은 리뷰어 수로 필요한 승인 수를 정함. 리뷰어가 두 명 이상이면 필요한 승인은 두 개이고, 한 명이면 그 한 명의 승인임.
  - 7.5.3.2.2 제안자가 해제하거나 퇴사와 휴직으로 자동 해제돼도 SSOT가 남은 리뷰어 수로 필요한 승인 수를 다시 계산함. 해제된 리뷰어의 승인은 승인 수에 넣지 않음. 리뷰어가 한 명도 없으면 발행할 수 없음.
- 7.5.3.3 리뷰어가 할 수 있는 행동
  - 7.5.3.3.1 리뷰어는 승인하거나 수정 요청 코멘트를 달 수 있음. 승인할 때는 그 리뷰어가 남긴 수정 요청이 남아 있을 수 없음. 수정 요청은 발행에만 영향을 주고 승인 수에는 영향을 주지 않음.
  - 7.5.3.3.2 리뷰어는 본문을 어디까지 읽었는지와 상관없이 승인 버튼을 누를 수 있음. 끝까지 읽어야 승인 버튼이 켜지는 제한을 다시 넣을지는 개발 쪽과 합의해야 함. 리뷰어가 승인하면 SSOT가 「승인함」 상태와 회색 보조 버튼 「승인 취소」를 표시하고, 이 버튼을 누르면 승인이 취소됨.
  - 7.5.3.3.3 수정 요청은 코멘트의 한 종류임. 리뷰어가 코멘트 입력창에서 수정 요청을 선택하고 이유를 적어 남김. SSOT는 수정 요청 코멘트를 해결하기 전까지 발행할 수 없게 함.
  - 7.5.3.3.4 리뷰어가 승인 버튼을 누르면 확인 창이 열림.
    - 7.5.3.3.4.1 그 리뷰어가 남긴 미해결 수정 요청이 있으면 확인 창이 「내 수정 요청 N건을 해결하고 승인할까요?」로 묻고, 승인하면 SSOT가 그 수정 요청을 모두 해결함.
    - 7.5.3.3.4.2 확인 창에는 승인하면서 남길 코멘트 입력칸이 있음. 입력하면 SSOT가 일반 코멘트로 남김. 오타처럼 작은 고칠 점은 수정 요청 대신 이 코멘트로 남김.
    - 7.5.3.3.4.3 다른 리뷰어가 남긴 수정 요청은 승인해도 바뀌지 않음.
  - 7.5.3.3.5 승인한 뒤에는 하단 버튼 줄에 테두리가 있는 「승인 취소」 버튼만 남고, 수정 요청 버튼은 표시하지 않음. 승인 취소는 이미 해결된 수정 요청을 다시 열지 않음.
- 7.5.3.4 새 버전이 등록될 때
  - 7.5.3.4.1 같은 제안에 새 버전이 등록돼도 리뷰어의 승인과 수정 요청은 그대로 남음. SSOT가 승인한 리뷰어의 알림에 버전이 바뀌었다고 표시함. 수정 요청 코멘트는 코멘트이므로 해결할 때까지 남음.
  - 7.5.3.4.2 발행이나 제안 닫기 뒤에 새 제안이 시작되면 SSOT가 이전 리뷰어 목록에서 새 제안의 제안자, 퇴사자, 휴직자를 빼고 이어받음. 이어받은 리뷰어의 지정 시각은 새 제안이 시작된 시각으로 기록하고, 모든 리뷰어를 승인도 수정 요청도 하지 않은 상태로 시작함. SSOT는 이어받은 리뷰어에게 리뷰어로 지정됐다는 슬랙 메시지를 보냄.
- 7.5.3.5 해결하지 않은 수정 요청 코멘트가 있으면 SSOT가 문서 상태 영역의 리뷰어 항목 아래에 그 코멘트를 남긴 사람의 이름을 표시함.
- 7.5.3.6 다시 리뷰 요청
  - 7.5.3.6.1 제안자는 고친 내용을 등록한 뒤 리뷰어 줄의 「다시 리뷰 요청」을 눌러 그 리뷰어에게 다시 리뷰를 요청함. 「다시 리뷰 요청」은 그 제안의 제안자만 누를 수 있음.
  - 7.5.3.6.2 「다시 리뷰 요청」 버튼은 리뷰어가 승인하거나 수정 요청을 남긴 버전 뒤에 새 버전이 등록됐을 때만 그 리뷰어 줄 아래에 나타남. 새 버전이 없으면 나타나지 않음. 승인한 리뷰어와 수정 요청을 남긴 리뷰어 모두 대상이고, 제안자가 다시 볼 리뷰어를 고름.
  - 7.5.3.6.3 요청받은 리뷰어는 「리뷰 전」으로 돌아가고, 그 리뷰어의 승인은 승인 수에서 빠짐. SSOT가 그 리뷰어의 할 일에 다시 리뷰 필요를 만들고 슬랙 메시지를 보냄.
  - 7.5.3.6.4 수정 요청 코멘트를 해결해도 SSOT가 자동으로 다시 리뷰를 요청하지 않음. 코멘트 해결과 다시 리뷰 요청은 다른 행동임.

- 7.5.3.7 리뷰어 줄은 리뷰어마다 「승인함」, 「리뷰 전」, 「수정 요청」, 「리뷰 기한 지남」 중 하나를 글자로 표시함. 「리뷰 기한 지남」에 마우스를 올리면 SSOT가 2주 동안 리뷰가 없어서 그 리뷰어와 제안자에게 알림을 보냈다고 툴팁으로 알림. 한 리뷰어가 승인하고 수정 요청도 남겼으면 「수정 요청」을 표시하고, 승인은 승인 a/b에 반영함. 답한 뒤 새 버전이 등록된 리뷰어에게는 상태 옆에 답한 버전과 「이후 변경 있음」을 함께 표시함.

- 7.5.3.8 리뷰어 줄은 이름 오른쪽에 작은 해제 버튼을 두고, 승인함이나 리뷰 기한 지남 같은 상태는 줄 오른쪽 끝에 표시함. 해제 버튼을 누르면 확인 창이 열리고, 확인 창은 해제하면 승인 수와 수정 요청이 어떻게 되는지 알림.
#### 7.5.4 발행

- 7.5.4.1 발행 조건은 아래 여섯 가지이며 모두 채울 때 발행할 수 있음. 어드민을 포함해 조건을 건너뛰는 예외는 없음. 제안자와 담당자에게는 하나라도 채우지 못하면 SSOT가 발행 버튼을 비활성으로 표시하고 이유를 안내함. 그 밖의 사람에게는 발행 버튼을 표시하지 않음. 서버도 같은 기준으로 발행을 거절함.
  - 7.5.4.1.1 발행하는 사람이 그 제안의 제안자이거나 담당자임.
  - 7.5.4.1.2 지금 보는 버전이 최신 제안이고 아직 발행되지 않았음.
  - 7.5.4.1.3 리뷰어가 한 명 이상이고, 제안자와 그 제안에 버전을 등록한 사람은 리뷰어가 아님.
  - 7.5.4.1.4 승인이 필요한 수를 채웠음.
  - 7.5.4.1.5 해결하지 않은 수정 요청 코멘트가 없음. 다른 코멘트가 남아 있어도 발행할 수 있고, 승인한 뒤에도 수정 요청 코멘트는 해결해야 함.
  - 7.5.4.1.6 제안을 등록할 때 기준이던 발행본이 지금의 발행본과 같음.
- 7.5.4.2 발행 버튼은 확인 창을 한 번 거침. 이번 제안에서 해제된 리뷰어와, 수정 요청을 남긴 리뷰어가 아닌 사람이 해결한 수정 요청이 있으면 SSOT가 확인 창에 함께 표시함. 승인한 뒤 버전이 바뀐 리뷰어가 있으면 그 이름도 함께 표시함.
- 7.5.4.3 구성원이 비활성 발행 버튼을 누르면 해결할 수정 요청 코멘트가 있을 때 SSOT가 첫 수정 요청 코멘트로 이동함. 수정 요청 코멘트가 없으면 이동하지 않고 첫 이유 하나를 안내 문구로 표시함. 발행할 수 없는 이유가 둘이면 버튼에는 해결해야 할 수정 요청 코멘트의 개수만 표시하고, 승인 수는 안내 문구에 표시함.
- 7.5.4.4 담당자는 남이 등록한 제안도 발행할 수 있고, 제안자 없음 상태에서도 발행할 수 있음. SSOT는 담당자가 발행하면 담당자를 발행자로 기록함.
- 7.5.4.5 발행하면 SSOT가 발행 완료 화면으로 이동함. 구성원은 발행 진행에서 검색 반영을 단계별로 확인하고, SSOT는 5초마다 최대 15분 동안 상태를 다시 읽음.
  - 7.5.4.5.1 SSOT는 문서를 검색에 올리는 작업인 검색 반영의 전송 실패, 반영 실패, 늦어짐을 구분해 알리고 완료로 추정하지 않음.
  - 7.5.4.5.2 문서 화면의 발행 진행도 검색 반영이 끝나지 않은 동안 5초마다 최대 15분 동안 상태를 다시 읽음. 15분이 지나도 반영되지 않으면 늦어짐으로 표시함.
- 7.5.4.6 발행 취소는 없음. 이전 내용으로 돌리려면 상세 정보의 버전 이력에서 되돌리기를 하며, SSOT가 리뷰 없이 되돌린 버전을 바로 발행함. 담당자만 되돌리기를 함. 되돌릴 수 있는 버전은 발행된 적이 있는 버전뿐임.
  - 7.5.4.6.1 실수로 누르지 않도록 SSOT가 되돌릴 버전을 보여 주고 이유를 요구하는 확인 창을 한 번 표시함.
  - 7.5.4.6.2 SSOT가 되돌린 사람, 이유, 되돌린 버전을 이력에 남기고 담당자에게 알리며, 리뷰 중인 제안이 있으면 그 제안의 제안자와 리뷰어에게도 알림.
  - 7.5.4.6.3 SSOT는 리뷰 중인 제안이 있어도 되돌리기를 허용함. 제안을 등록할 때 기준이던 발행본이 지금의 발행본과 달라진 제안은 발행할 수 없고 제안자가 다시 등록해야 함. 제안자가 새 버전을 등록하면 SSOT가 기준 발행본을 지금의 발행본으로 바꾸고, 고칠 곳이 없어도 다시 등록할 수 있음.

#### 7.5.5 편집과 등록

- 7.5.5.1 편집
  - 7.5.5.1.1 편집은 문서 본문 전체를 한 번에 고치는 편집기에서 함. AI로 수정은 SSOT가 에이전트에게 붙여 넣을 수정 지시문을 만들어 줌.
  - 7.5.5.1.2 구성원이 저장하면 SSOT가 최신 제안의 다음 버전으로 새 버전을 등록하고, 제안이 없으면 새 제안을 만듦.
  - 7.5.5.1.3 편집 권한은 담당자와 현재 제안자에게만 있음.
- 7.5.5.2 다른 사람의 제안이 리뷰 중일 때
  - 7.5.5.2.1 담당자를 포함한 모든 사람은 새 버전을 등록할 수 없음. SSOT는 원래 편집 권한이 있는 담당자에게만 편집과 AI로 수정 버튼을 비활성으로 표시하고, 리뷰어와 독자에게는 버튼을 표시하지 않음. 안내 문구가 누가 등록한 제안인지 알림.
  - 7.5.5.2.2 담당자는 그 제안을 닫고 새로 등록하거나, 제안자 없음 상태이면 제안자를 이어받아 고침.
- 7.5.5.3 에이전트가 등록할 때
  - 7.5.5.3.1 새 문서와 갱신은 에이전트가 등록하는 경로가 기본임. 제안자는 로그인한 사람임.
  - 7.5.5.3.2 필수 항목이 비어 있으면 SSOT가 등록을 반려하고 사람에게 확인할 질문 문구를 함께 응답함.
  - 7.5.5.3.3 갱신하는 에이전트는 어느 버전을 고쳤는지 함께 보내야 함. 그 사이 다른 버전이 등록됐으면 SSOT가 충돌로 반려하고, 에이전트는 최신 원문과 자기 수정본을 비교해 구성원에게 확인한 뒤 수정본을 다시 등록함.
  - 7.5.5.3.4 다른 사람의 제안이 리뷰 중이면 SSOT가 누구의 제안인지 이유를 알리며 반려함.
  - 7.5.5.3.5 새 문서의 담당자는 제안자임. 에이전트가 다른 사람을 담당자로 적으면 그 사람이 SSOT에 한 번 로그인한 사람이어야 하고, 로그인한 적이 없으면 SSOT가 반려함.

  - 7.5.5.3.6 닫히거나 삭제된 문서에 온 갱신은 SSOT가 이유를 알리며 반려함.

#### 7.5.6 신뢰도 카드

- 7.5.6.1 카드는 점수, 등급, 막대를 표시하고, 구성원이 물음표 아이콘에 마우스를 올리면 SSOT가 평가 기준을 안내 문구로 알림.
  - 7.5.6.1.1 점수가 리뷰 상태별 최대 점수에 도달했으면 SSOT가 막대 아래에 이유를 한 줄로 표시함. 리뷰 중인 문서이면 리뷰 중이라 최대 79점이라고, 오래된 문서이면 오래된 문서라 최대 59점이라고 알림.
- 7.5.6.2 구성원이 신뢰도 상세를 펼치면 SSOT가 감점 사유와 항목별 점수를 표시함.
- 7.5.6.3 다시 평가 버튼은 누를 수 있는 사람에게만 표시되고, 누를 수 있는 사람은 리뷰 중인 제안에서는 담당자와 그 제안의 제안자이고, 발행본에서는 담당자임. 버튼을 누르면 서버가 요청을 접수하거나 거절하고, 응답에 최신 상태를 포함함.
  - 7.5.6.3.1 버튼이 비활성인 이유는 평가 진행 중, 오래된 문서, 마지막 평가 뒤 10초 안이며, 이 순서가 안내 우선순위임. 이유가 둘 이상이면 SSOT가 우선순위가 앞선 이유 하나만 안내함.
  - 7.5.6.3.2 안내는 버튼에 마우스를 올리거나, 키보드로 버튼을 선택하거나, 태블릿에서 탭하면 표시됨. 비활성 버튼도 키보드로 선택할 수 있음.
  - 7.5.6.3.3 마지막 평가 뒤 10초 안에는 남은 초가 1초마다 줄어들고, 0초가 되면 버튼이 활성화됨.
- 7.5.6.4 마지막 평가 뒤 시간이 지났거나 리뷰 상태가 바뀌어 점수가 현재 상태와 맞지 않으면 SSOT가 카드 첫 줄에 그 이유를 표시함.
- 7.5.6.5 신뢰도 카드는 서버에서 상태를 주기적으로 불러오지 않음. 신뢰도 카드가 서버에서 상태를 불러오는 때는 문서를 열 때, 다시 평가를 눌렀을 때, 브라우저 탭이 다시 화면에 나타날 때임. 다시 평가를 누른 사람의 화면은 그 평가가 끝날 때까지도 서버에서 상태를 불러옴. 이 외에는 불러오지 않으므로 가만히 두면 점수가 바뀌지 않고, 다른 사람이 바꾼 점수는 문서 화면이 다음에 서버에서 상태를 불러올 때 반영됨.

#### 7.5.7 문서 삭제

- 7.5.7.1 어드민만 문서를 삭제함. 문서 정보 영역의 더 보기 메뉴와 담당자 변경 화면의 문서 행 삭제 아이콘에 삭제가 있고, 두 경로 모두 확인 창을 한 번 거침.
- 7.5.7.2 삭제하면 문서가 닫힘 상태가 됨. SSOT가 목록, 검색, 할 일에서 문서를 제외하고, 어드민이 아닌 사람이 주소로 열면 없음 화면을 표시함. SSOT는 데이터를 지우지 않고 누가 언제 삭제했는지 기록함.
- 7.5.7.3 어드민은 삭제된 문서를 목록에서 제목으로 보고 복구함. 본문은 원래 읽을 권한이 있는 사람만 읽음. 복구하면 문서가 삭제 직전 상태로 돌아오고, 진행 중이던 제안과 코멘트도 함께 돌아옴. SSOT는 삭제한 기간을 리뷰 기한 2주와 최신성 유효 기간 계산에서 뺌.
  - 7.5.7.3.1 같은 폴더에 같은 이름의 새 문서가 이미 있으면 SSOT가 복구를 막고 이유를 안내함. 어드민이 새 문서를 정리한 뒤 다시 복구함.
  - 7.5.7.3.2 SSOT가 복구한 사람과 시각을 변경 기록에 남김.
  - 7.5.7.3.3 복구한 문서의 담당자가 퇴사하거나 휴직한 사람이면 SSOT가 복구 직후 자동 변경을 한 번 실행하고, 새 담당자를 찾지 못하면 문서가 담당자 지정 필요 상태가 됨.
- 7.5.7.4 진행 중인 제안이 있는 문서를 삭제하거나 복구하면 SSOT가 담당자, 제안자, 리뷰어의 알림에 한 번 표시함.

#### 7.5.8 문서 폴더 이동

- 7.5.8.1 화면에는 문서를 이미 있는 폴더로 이동하는 기능만 있고, 폴더를 새로 만드는 기능은 없음. 이동 기능은 문서 정보 영역의 더 보기 메뉴에 있음.
- 7.5.8.2 담당자만 문서를 이동함.
- 7.5.8.3 이동할 폴더에 같은 이름의 문서가 있으면 SSOT가 이동을 막고 이유를 안내함.
- 7.5.8.4 이동하면 SSOT가 새 버전을 만들지 않고 바로 반영하며, 이동한 사람과 시각을 버전 이력에 남김.

- 7.5.8.5 문서 정보 영역의 더 보기 메뉴에는 마크다운 복사, 원본 문서 열기, 위치 옮기기, 문서 삭제가 있음. 마크다운 복사와 원본 문서 열기는 문서를 읽을 수 있는 구성원에게, 위치 옮기기는 담당자에게, 문서 삭제는 어드민에게만 보임.

### 7.6 참조 문서와 관련 문서

| 구분 | 참조 문서 | 관련 문서 |
|---|---|---|
| 만드는 주체 | 사람이 근거로 직접 넣음 | SSOT가 내용이 겹치는 문서를 자동으로 찾음 |
| 대상 | 발행된 SSOT 문서, 위키, 슬랙, 코드 저장소, 다른 사이트의 링크 | 읽을 수 있는 발행 문서 |
| 넣고 빼는 사람 | 담당자, 제안자. 리뷰 중인 제안에서는 리뷰어도 | 없음 |
| 저장 | 제안 단위로 저장되고 발행할 때 발행본에 고정됨. 리뷰어가 넣고 빼도 새 버전을 만들지 않고 리뷰 기록에 남김. 새 제안은 발행본의 목록을 이어받아 시작함 | 저장하지 않고 문서를 열 때마다 계산함 |
| 눌렀을 때 | SSOT 문서는 같은 탭, 외부 주소는 새 탭에서 열림 | 지금 문서와 그 관련 문서를 나란히 비교하는 창이 열림 |
| 읽을 수 없는 문서 | 한 줄로 자물쇠, 비공개 문서, 볼 권한이 없음만 표시함. 누르면 권한 없음 화면이 열림. 삭제되거나 닫힌 문서는 「삭제된 문서」로 표시하고 누를 수 없음 | 목록에서 제외됨 |

- 7.6.1 참조 문서 섹션은 문서 상태 영역에서 신뢰도 아래, 관련 문서 위에 있음. 참조 문서가 하나도 없고 넣을 수 있는 사람도 아니면 SSOT가 이 섹션을 숨김.
- 7.6.2 같은 문서를 두 번 넣을 수 없고, 사람이 입력한 SSOT 문서를 SSOT가 찾지 못하면 SSOT가 그 이유를 표시함. SSOT는 외부 주소를 열 수 있는지 확인하지 않음.
- 7.6.3 발행본을 읽는 중인 편집 권한자에게 SSOT가 고치려면 편집하라는 안내를 표시함.
- 7.6.4 한 문서에 참조 문서와 관련 문서가 함께 있을 수 있고 따로 표시됨. 같은 문서가 관련 문서 목록에 두 번 나오지 않음.
- 7.6.5 관련 문서 섹션에는 자동으로 찾았다는 설명 문구를 두지 않음.
- 7.6.6 넣는 방법
  - 7.6.6.0 참조 문서 영역의 + 버튼을 누르면 카드 가운데에 검색칸이 달린 드롭다운이 열림. 맞는 SSOT 문서를 고르거나, 주소를 넣고 「이 주소 추가」를 누르면 참조 문서로 넣음. 맞는 문서가 없으면 「맞는 문서가 없어요」를 표시함. 드롭다운 밖을 누르거나 Esc를 누르면 넣지 않고 닫힘.
  - 7.6.6.1 SSOT 문서는 이름이나 주소를 넣으면 SSOT가 문서에서 제목을 자동으로 가져옴.
  - 7.6.6.2 외부 주소는 주소와 제목을 함께 적음. 제목은 선택 입력임.
  - 7.6.6.3 제목을 비우면 슬랙은 슬랙 대화, 위키는 위키 문서로 표시되고, 다른 주소는 주소의 마지막 경로 이름이나 도메인으로 표시됨.
  - 7.6.6.4 SSOT는 외부 페이지를 열어 탭 제목이나 아이콘을 읽어 오지 않음. 로그인이 필요한 사내 페이지는 로그인 화면의 제목이 나오고, SSOT가 아무 주소나 열면 보안 문제가 생기기 때문임.

### 7.7 운영 관리

- 7.7.1 어드민만 계정 메뉴에서 운영 관리를 엶. 운영 관리에는 사용자 관리와 변경 기록 두 탭이 있음. 문서의 담당자 변경은 담당자 변경 화면에서 하고, 문서 삭제는 문서 정보 영역의 더 보기 메뉴와 담당자 변경 화면에서 함.
- 7.7.2 어드민이 사용자 관리 탭에서 구성원의 역할을 어드민과 멤버 중에 선택함.
- 7.7.3 멤버는 공개 문서를 읽고, 문서를 등록하고, 리뷰와 발행을 하며, 자기 문서의 공개범위와 공유 대상을 정함.
- 7.7.4 권한이 없는 사람이 주소로 열면 SSOT가 권한이 없다는 안내와 어드민에게 요청하라는 문구를 표시함.
- 7.7.5 구성원 목록
  - 7.7.5.1 SSOT는 이용 중인 사람만 목록에 표시하고 퇴사자는 표시하지 않음.
  - 7.7.5.2 어드민이 소속을 그룹, 팀, 파트 순으로 범위를 축소해 필터링하고, 세 선택 상자 모두 안에서 이름으로 찾을 수 있음. 위 단계를 바꾸면 아래 단계가 처음 상태로 돌아감. 이름이나 이메일로도 찾을 수 있음.
  - 7.7.5.3 어드민이 이름순, 소속순, 역할순 중에 정렬을 선택하고, 처음 정렬은 이름순임.
  - 7.7.5.4 목록은 한 페이지에 50명씩 표시하고 페이지를 넘겨 봄. 필터링하거나 정렬을 바꾸면 첫 페이지로 돌아감. 목록을 스크롤해도 검색, 필터, 목록 머리 줄은 화면 위에 고정함.
  - 7.7.5.5 어드민이 행에서 역할을 선택하면 SSOT가 확인 창을 한 번 거친 뒤에 역할을 바꿈. 확인 창은 누구의 역할을 무엇에서 무엇으로 바꾸는지와 권한이 어떻게 달라지는지를 표시함.
- 7.7.6 역할 변경 보호
  - 7.7.6.1 본인의 역할은 본인이 바꿀 수 없음.
  - 7.7.6.2 어드민이 한 명만 남으면 SSOT가 그 사람의 역할 변경을 막아 어드민이 0명이 되는 일을 방지함.
  - 7.7.6.3 어드민이 퇴사하면 SSOT가 어드민 역할을 자동으로 해제함. 다만 마지막 남은 어드민은 자동으로 해제하지 않고 변경 기록에 남김.
  - 7.7.6.4 CEO로 표시된 구성원의 역할은 어드민으로 고정함. 퇴사한 CEO는 이 고정에서 뺌. SSOT는 사용자 관리에서 그 구성원의 역할을 멤버로 바꾸지 못하게 막음.

### 7.8 담당자 변경

- 7.8.1 열기와 범위
  - 7.8.1.1 구성원이 계정 메뉴의 담당자 변경에서 이 화면을 엶. 퇴사자와 재직자 모두 같은 화면에서 바꾸고, 인계를 잘못했거나 담당자가 부서를 옮긴 경우에도 이 화면을 씀.
  - 7.8.1.2 리드와 어드민이 이 화면을 씀. 리드는 자기가 인계할 수 있는 구성원만 보고, 어드민은 모든 구성원을 봄. 리드가 인계할 수 있는 구성원은 그 리드가 가까운 리드이거나 바로 위 리드인 구성원임.
- 7.8.2 찾기와 필터
  - 7.8.2.1 이름이나 문서 제목으로 찾는 입력창과 상태 필터가 있음. 상태는 재직, 휴직, 퇴사, 담당자 지정 필요 중 여러 개를 함께 선택할 수 있고, 처음에는 재직, 휴직, 퇴사가 선택된 상태임. 하나 이상은 선택돼 있어야 해서 SSOT가 마지막 하나를 끄는 조작을 막음. 담당자 지정 필요 상태인 문서만 따로 필터링할 수 있음. 목록을 스크롤해도 입력창과 필터 줄은 화면 위에 고정함.
  - 7.8.2.2 어드민이면서 리드인 사람은 모든 구성원과 자기가 인계할 수 있는 구성원 중에서 범위를 선택함. 홈의 담당자 지정 필요 카드로 들어오면 SSOT가 모든 구성원 범위에서 담당자 지정 필요 필터를 켠 채 화면을 엶.
- 7.8.3 목록
  - 7.8.3.1 구성원마다 한 행이 있고, 행을 펼치면 문서 행이 나옴. 담당자 지정 필요 구성원이 먼저 오고, 그 안에서 이름순으로 정렬됨. 담당자 지정 필요 구성원 행에는 대기 일수를 표시함.
  - 7.8.3.2 리드나 어드민이 구성원 행에서 새 담당자를 선택하면 그 구성원의 모든 문서에 한 번에 적용되고, 문서 행의 선택은 그 문서만 정함. 두 선택은 서로 따라 바뀌지 않음. 구성원이 선택 목록에서 이름으로 사람을 찾을 수 있음.
  - 7.8.3.3 문서 행의 원본 열기 버튼은 그 문서의 문서 화면을 새 탭으로 열고, 본문을 읽을 권한이 없으면 SSOT가 권한이 없다고 알림.
  - 7.8.3.4 어드민은 삭제된 문서를 포함한 모든 문서를 목록에서 보고 담당자 변경과 삭제를 할 수 있음.
  - 7.8.3.5 문서 행 끝의 삭제 아이콘은 어드민에게만 표시됨. 문서를 선택해 한 번에 바꾸거나 지우는 기능은 없고, 구성원 단위 변경이 한 번에 바꾸는 역할을 함.
  - 7.8.3.6 목록은 구성원 50명씩 페이지로 나뉘고, 필터링하거나 찾으면 첫 페이지로 돌아감.
- 7.8.4 변경하기
  - 7.8.4.1 새 담당자는 처음에 비어 있고, 모든 행에 변경 버튼이 있고 사람을 선택하기 전에는 비활성임. 행 앞에 번호를 붙임. 확인 창이 새 담당자의 이름을 다시 알리고 버튼 이름은 「바꾸기」임.
  - 7.8.4.2 변경하면 SSOT가 10초 동안 실행 취소 버튼을 표시하고, 리드나 어드민이 실행 취소하면 SSOT가 담당자를 변경 전 담당자로 되돌리고 새 담당자 선택을 비움.
- 7.8.5 이 화면은 문서의 담당자만 바꿈. 퇴사자가 제안한 리뷰 중인 제안은 이 화면에 나오지 않고, 담당자가 문서 화면에서 제안자를 이어받음.

### 7.9 에이전트 연결

- 7.9.1 상단 메뉴의 에이전트 연결 버튼과 화면 오른쪽 아래에 고정된 도움말 버튼이 같은 안내 흐름을 엶.
  - 7.9.1.1 도움말 버튼은 소개 화면에서, 에이전트 연결 버튼은 도구 선택 화면에서 안내를 시작함.
  - 7.9.1.2 안내에는 이전 버튼과 처음부터 버튼이 있고, 연결이 안 될 때의 안내는 같은 화면 아래에 펼쳐짐.
  - 7.9.1.3 오른쪽 아래의 도움말 버튼(물음표)은 홈에서만 표시함. 다른 화면에서는 상단 메뉴의 에이전트 연결 버튼으로 들어옴.
- 7.9.2 처음 접속한 사람에게는 SSOT가 에이전트 연결 버튼을 강조하고, 한 번 열면 강조를 끔.
- 7.9.3 안내의 복사 버튼으로 복사한 글에는 사내 연결 주소가 들어 있음.
- 7.9.4 에이전트는 검색, 읽기, 편집용 원문 읽기, 폴더 목록 읽기, 등록하려는 문서와 원문 주소가 같은 문서가 이미 있는지 찾기, 등록만 하고, 연결한 구성원과 같은 권한 규칙 아래에서 함. 승인, 수정 요청, 코멘트와 코멘트 해결, 리뷰어 지정과 해제, 제안 닫기, 발행, 되돌리기, 삭제와 복구, 담당자 변경, 공개범위 변경, 폴더 이동, 최신 정보 확인, 신뢰도 다시 평가는 사람이 화면에서만 함. 에이전트는 이 목록 밖의 행동을 하지 않음.
- 7.9.5 동의 화면
  - 7.9.5.1 에이전트가 SSOT에 처음 연결을 요청하면, 구성원이 회사 계정으로 로그인한 뒤 이 화면이 열림. 이 화면은 에이전트가 보낸 요청으로만 열리고, 화면 안에 이 화면으로 가는 버튼은 없음.
  - 7.9.5.2 화면은 SSOT 로고, 요청한 앱과 SSOT를 연결하는 그림, 로그인한 이름과 이메일, 요청한 권한, 허용과 거부 버튼을 표시함.
  - 7.9.5.3 SSOT는 요청한 권한만 아래 세 줄로 묶어 표시하고, 계정 정보 확인 권한은 로그인한 이름과 이메일 줄로 대신함.
    - 7.9.5.3.1 문서 검색하고 읽기 줄에는 로그인한 사람이 볼 수 있는 문서만 읽는다는 설명이 함께 표시됨.
    - 7.9.5.3.2 내 이름으로 문서 등록 줄에는 리뷰와 발행을 거쳐야 공개된다는 설명이 함께 표시됨.
    - 7.9.5.3.4 연결 유지 줄에는 다시 로그인하지 않아도 된다는 설명이 함께 표시됨.
    - 7.9.5.3.5 이 세 줄에 없는 권한은 SSOT가 권한 이름을 그대로 한 줄로 표시함.
  - 7.9.5.4 구성원이 허용하면 SSOT가 허용 결과 화면을 표시하고, 창을 닫고 에이전트로 돌아가라고 안내함.
    - 7.9.5.4.1 에이전트가 결과를 받는 주소가 사용자 컴퓨터 안의 주소이면 SSOT가 화면을 이동하지 않고 백그라운드 요청으로 허용 결과를 그 주소에 전달함. 브라우저가 전달을 막으면 SSOT가 그 주소로 이동함.
    - 7.9.5.4.2 다른 주소이면 SSOT가 그 주소로 이동함.
  - 7.9.5.5 구성원이 거부하면 SSOT가 거부 결과 화면을 같은 방식으로 표시하고 에이전트에 거부로 전달함.
  - 7.9.5.6 실패하는 경우는 아래 세 가지임.
    - 7.9.5.6.1 요청 정보를 확인할 수 없으면 SSOT가 확인할 수 없다는 안내를 표시하고, 에이전트에서 처음부터 다시 시도하게 함.
    - 7.9.5.6.2 서버가 허용이나 거부를 반영하지 못하면 SSOT가 실패 화면을 표시하고, 에이전트에서 처음부터 다시 연결하게 함. 이 화면에는 버튼이 없음.
    - 7.9.5.6.3 연결이 끊겨 요청이 서버에 닿지 못하면 SSOT가 화면에 잠깐 표시되는 안내 문구인 스낵바로 알림. 구성원은 동의 화면에서 허용과 거부를 다시 누를 수 있음.
  - 7.9.5.7 동의 화면은 PC에서 테두리가 있는 카드 모양 틀 안에 표시되고, 가로 640px 미만에서는 카드 없이 화면 전체에 표시됨. 캐릭터는 쓰지 않고, 라이트와 다크 모두 같은 구성임.
- 7.9.6 연결한 에이전트를 보거나 연결을 끊는 화면은 출시 뒤로 미룸. 그때까지는 각 에이전트 도구의 연결 해제 메뉴를 쓰고, 개발팀이 에이전트가 SSOT에 접속할 때 받는 인증 값인 SSOT 토큰의 유효 기간과 서버에서 구성원의 토큰을 회수하는 방법을 확인함.

### 7.10 로그인과 오류

- 7.10.1 구성원은 회사 계정으로 로그인하고, 에이전트를 처음 연결하는 사람은 로그인한 뒤 동의 화면을 거침.
- 7.10.2 로그인이 만료된 채 코멘트 등록, 승인, 발행처럼 내용을 저장하는 동작을 하면 SSOT가 오류 화면 없이 로그인이 만료됐다고 안내함.
- 7.10.3 로그인 만료나 연결 끊김으로 저장에 실패하면 SSOT가 실패를 안내하고 편집기 본문, 코멘트, 이유 입력의 쓰던 글을 남김. 다시 로그인하거나 연결하면 같은 내용으로 다시 저장할 수 있음.
- 7.10.4 화면 하나의 내용을 불러오지 못해도 SSOT는 상단 메뉴를 남기고 상단 메뉴 아래 화면 내용에만 오류 안내를 표시함.
- 7.10.5 화면을 열어 둔 사이 문서 상태가 바뀌어 서버가 동작을 거절하면 SSOT가 이유를 한 줄로 알리고 화면을 최신 상태로 다시 불러옴.

### 7.11 변경 기록

- 7.11.1 SSOT는 어드민과 리드가 직접 바꾼 일과 SSOT가 자동으로 바꾼 일을 함께 기록함. 직접 바꾼 일은 역할 변경, 담당자 변경, 문서 삭제와 복구임. 자동으로 바꾼 일은 담당자 자동 변경과 어드민 역할 자동 해제임. 담당자 지정 필요는 상태이므로 SSOT가 변경 기록에 남기지 않고 담당자 변경 화면의 표시로 알림.
- 7.11.2 변경 기록은 작업 한 건당 한 행이며, 행을 펼치면 원본 기록을 볼 수 있음. 구성원은 기록을 수정하거나 삭제할 수 없음.
  - 7.11.2.1 SSOT는 한 행에 변경 유형, 변경 대상, 처리한 사람, 일시를 표시함. 기본 정렬은 최신순임.
  - 7.11.2.2 원본 기록에는 그 시점의 이름과 소속이 함께 저장되므로 조직이 바뀌어도 기록이 그대로 남음.
  - 7.11.2.3 처리한 사람 칸에서 SSOT가 자동으로 바꾼 일과 사람이 직접 바꾼 일을 구분해 표시함.
- 7.11.3 어드민이 기간, 변경 유형, 처리 방식, 처리한 사람 이름으로 변경 기록을 찾고, 최신순이나 오래된 순으로 정렬함. 기간은 전체, 최근 7일, 최근 30일, 최근 90일 중에 선택하고, 처리 방식은 직접과 자동 중에 선택함. 필터링하거나 정렬을 바꾸면 첫 페이지로 돌아감.
- 7.11.4 목록은 한 페이지에 50건씩 표시하고 페이지를 넘겨 봄. 목록을 스크롤해도 검색, 필터, 목록 머리 줄은 화면 위에 고정함.
- 7.11.5 어드민만 변경 기록을 봄.
- 7.11.6 SSOT는 변경 기록을 영구 보관하고 지우지 않음.

- 7.11.7 담당자 변경의 실행 취소도 한 행으로 남기고, 구성원 단위로 한 번에 바꾼 변경도 문서마다 한 행으로 남김.

### 7.12 화면 움직임

- 7.12.1 SSOT는 화면이 바뀔 때 갑자기 바뀌지 않도록 짧은 움직임을 넣음. 움직임 줄이기를 켠 구성원에게는 모든 움직임을 끔. 움직임의 세부는 화면 규칙 PR에 있음.

## 8. 퇴사와 인계

### 8.1 퇴사나 휴직한 사람의 역할이 없어지는 경우

| 퇴사나 휴직한 사람의 역할 | 이후 상태 |
|---|---|
| 리뷰 중인 제안의 제안자 | 제안자 없음 상태가 됨. 담당자가 자동으로 이어받지 않고 문서 화면에서 직접 이어받음 |
| 문서의 담당자 | 담당자 지정 필요 상태가 됨. (퇴) 또는 (휴)가 붙은 담당자 이름이 남고 새 담당자를 정해야 함 |
| 리뷰 중인 제안의 리뷰어 | SSOT가 그 리뷰어를 자동으로 해제하고 필요한 승인 수를 남은 리뷰어 수로 다시 계산함. 한 명도 남지 않으면 제안자의 알림에 리뷰어 지정이 필요하다고 표시함 |
| 발행자 | 인계 대상이 아님. 발행 기록에 남는 이름이고 권한이 없음 |

- 8.1.1 제안자 없음 상태일 때
  - 8.1.1.1 담당자가 제안자 이어받기를 눌러 자기를 제안자로 지정함.
  - 8.1.1.2 승인과 코멘트는 그대로 이어짐.
  - 8.1.1.3 이어받는 사람이 그 제안의 리뷰어였으면 이어받을 때 SSOT가 그 사람을 리뷰어에서 빼고, 필요한 승인 수를 남은 리뷰어 수로 다시 계산함.
  - 8.1.1.4 문서가 담당자 지정 필요 상태이면 새 담당자를 정한 뒤에 새 담당자가 제안자를 이어받음.
  - 8.1.1.5 SSOT가 이어받은 기록을 남기고, 화면에 누구에게서 이어받았는지 함께 표시함.
- 8.1.2 담당자 지정 필요 상태인 문서는 열람과 검색이 그대로임. 퇴사하거나 휴직한 담당자에게는 알림을 보내지 않음.
- 8.1.3 제안자 없음 상태에서 할 수 있는 일과 할 수 없는 일은 아래 표와 같음.

| 할 수 있음 | 할 수 없음 |
|---|---|
| 리뷰어의 승인, 수정 요청, 코멘트. 담당자의 발행, 제안 닫기, 코멘트 해결, 리뷰어 해제, 제안자 이어받기 | 리뷰어 지정, 새 버전 등록. 담당자가 제안자를 이어받으면 가능해짐 |

### 8.2 인계하는 사람

- 8.2.1 SSOT가 퇴사자 문서의 담당자를 매일 자동으로 바꿈. SSOT가 새 담당자를 찾지 못했거나 바로 바꿔야 하면 퇴사자의 가까운 리드가 직접 바꾸고, 그 바로 위 리드와 어드민이 대신 바꿀 수 있음.
- 8.2.2 가까운 리드는 파트, 팀, 그룹 순으로 찾음. 퇴사자 본인이 리드이면 그 단계를 건너뛰고 위 단계로 올라감.
- 8.2.3 매일 자동 변경이 새 담당자를 찾지 못한 문서는 담당자 지정 필요 카드로 최고 책임자에게 보임. 리드는 카드 없이도 담당자 변경 화면의 담당자 지정 필요 필터로 그 문서를 보고 바꿀 수 있음. 한 사람이 담당자를 지정하면 카드가 사라지고, 이미 바뀐 문서를 늦게 지정하면 SSOT가 이미 바뀌었다고 안내함. SSOT는 기한 일수를 두지 않음.

- 8.2.4 SSOT는 휴직한 담당자의 문서도 퇴사자와 같은 방식으로 인계함. 담당자 지정 필요와 매일 자동 변경이 휴직한 담당자의 문서에도 같게 적용됨. 휴직에서 복귀해도 SSOT가 담당자를 자동으로 되돌리지 않고, 원하면 리드가 담당자 변경 화면에서 바꿈.

### 8.3 인계 방식

- 8.3.1 SSOT는 새 담당자의 수락 없이 인계를 지정한 즉시 반영함. 리드와 어드민은 구성원 단위나 문서 단위로 인계를 지정함.
- 8.3.2 SSOT는 새 담당자로 퇴사자와 휴직자를 선택하지 못하게 함. 리드와 어드민은 재직 중인 구성원 전체에서 새 담당자를 선택함.
- 8.3.3 SSOT는 담당자 변경을 별도 기록으로 남기고 기존 버전 기록을 바꾸지 않음.
- 8.3.4 SSOT는 새 담당자의 알림에 새로 담당자가 된 문서를 표시함.

### 8.4 비공개 문서의 인계

- 8.4.1 퇴사자와 휴직자의 비공개 문서는 인계하는 리드에게도 자물쇠 아이콘과 제목만 표시되고 본문은 읽을 수 없음. SSOT는 인계 판단에 쓰도록 폴더 경로와 최근 수정일을 함께 표시함.
- 8.4.2 재직자의 비공개 문서는 담당자 변경 화면에서 어드민에게만 표시되고, 어드민만 담당자를 바꿈. 리드의 구성원 단위 변경에서도 빠짐.
- 8.4.3 인계 받은 사람은 담당자가 되면 바로 그 문서에 접근할 수 있음.
- 8.4.4 이전 담당자는 인계되면 바로 비공개 문서를 읽을 수 없음. 다만 이전 담당자가 리뷰 중인 제안의 제안자이면 그 제안이 발행되거나 닫힐 때까지만 읽을 수 있음. 필요하면 새 담당자가 이전 담당자를 공유 대상에 넣음.

### 8.5 매일 자동 변경

- 8.5.1 SSOT는 인사 정보로 SSOT의 조직 정보를 갱신한 직후 하루 한 번 자동 변경을 실행함.
- 8.5.2 대상은 담당자가 퇴사했거나 휴직에 들어간 문서와, 전날까지 담당자 지정 필요 상태였던 문서임. 리드나 어드민이 이미 직접 바꾼 문서와, 담당자가 재직으로 돌아온 문서는 대상이 아님. 제안을 닫아 닫힌 문서와 삭제된 문서도 대상이 아님.
- 8.5.3 SSOT는 퇴사자나 휴직자의 마지막 소속 단계 중 파트부터 새 담당자를 찾음.
  - 8.5.3.1 순서는 파트리드, 팀리드, 그룹리드임. SSOT는 소속에 없는 단계를 건너뜀.
  - 8.5.3.2 퇴사자 본인이 리드였거나 그 단계의 리드가 없으면 SSOT가 그 단계를 없는 단계로 보고 다음 단계로 넘어감.
  - 8.5.3.3 퇴사자와 휴직자는 새 담당자가 될 수 없으므로 SSOT가 그 단계를 건너뜀.
  - 8.5.3.4 SSOT는 퇴사 당일의 조직도 대신 자동 변경을 실행한 날의 조직도를 기준으로 찾음. 후임 리드가 인사 정보에 반영되면 그날 자동으로 담당자가 바뀜.
- 8.5.4 SSOT는 새 담당자를 찾으면 새 담당자의 수락 없이 담당자를 바꾸고 변경 기록에 문서마다 한 행을 남김. SSOT는 새 담당자의 알림에 새로 담당자가 된 문서를 표시함.
- 8.5.5 SSOT는 새 담당자를 찾지 못하면 담당자를 그대로 두고 담당자 지정 필요 상태로 남기며 다음 날 다시 찾음.
  - 8.5.5.1 SSOT는 최고 책임자의 홈과 할 일 맨 앞에 담당자 지정 필요 카드를 표시함.
  - 8.5.5.2 SSOT는 담당자 지정 필요를 변경 기록에 남기지 않고, 담당자 변경 화면에 대기 일수를 표시함.
- 8.5.6 SSOT는 비공개 문서도 같은 방식으로 바꾸고, 새 담당자는 담당자가 되면 바로 접근할 수 있음.
- 8.5.7 자동 변경 대상 문서에 리뷰 중인 제안이 있고 그 제안의 제안자도 퇴사하거나 휴직했으면, SSOT는 담당자만 바꾸고 제안자는 자동으로 채우지 않음. SSOT는 새 담당자의 알림에 제안자를 이어받을 수 있다고 표시함.
- 8.5.8 담당자를 바꾼 뒤에도 리드와 어드민이 필요하면 담당자를 직접 다시 바꿀 수 있음.

## 9. 엣지 케이스

### 9.1 리뷰와 승인

| 상황 | 결과 |
|---|---|
| 리뷰어가 한 명뿐인데 퇴사하거나 휴직함 | 리뷰어가 0명이 되어 SSOT가 발행을 막고 제안자에게 리뷰어 지정을 안내함. 새 리뷰어를 지정하면 SSOT가 필요한 승인 수를 다시 계산함 |
| 리뷰어 두 명 중 한 명이 퇴사하거나 휴직함 | SSOT가 남은 리뷰어 한 명으로 필요한 승인 수를 다시 계산함. 새 리뷰어를 지정하면 다시 두 명 기준이 됨 |
| 퇴사한 리뷰어가 수정 요청 코멘트를 남겨 둠 | 코멘트를 해결하기 전까지 SSOT가 발행을 막고, 담당자나 제안자가 그 코멘트를 해결함 |
| 승인한 뒤 같은 제안에 새 버전이 등록됨 | 승인은 그대로이고 SSOT가 승인한 리뷰어의 알림에 버전이 바뀌었다고 표시함. 제안자가 「다시 리뷰 요청」을 누른 리뷰어만 다시 리뷰함 |
| 앞 버전에서 남긴 수정 요청 코멘트가 있음 | 같은 제안 안에서는 SSOT가 코멘트를 이어서 표시하고 해결하기 전까지 발행을 막음. 제안이 새로 시작되면 이어서 표시하지 않음 |
| 리뷰어 셋 중 둘이 승인하고 한 명이 수정 요청 코멘트를 남김 | 그 코멘트를 해결하기 전까지 SSOT가 발행을 막음. 승인 수는 그대로 둘임 |
| 승인한 리뷰어가 승인을 취소함 | 승인 수가 줄어서 발행 조건을 다시 채워야 함 |
| 담당자가 그 제안의 리뷰어이고 제안자 없음 상태임 | 담당자가 제안자를 이어받으면 SSOT가 담당자를 리뷰어에서 빼고 필요한 승인 수를 남은 리뷰어 수로 다시 계산함 |

### 9.2 발행과 제안

| 상황 | 결과 |
|---|---|
| 담당자가 남이 등록한 제안을 발행함 | SSOT가 제안자의 알림에 제안한 버전이 발행됨을 표시하고, 발행 기록에 발행자로 담당자를 남김 |
| 제안이 만들어진 뒤 다른 버전이 발행됨 | 그 제안은 발행할 수 없고, SSOT가 다시 등록하라고 안내함 |
| 최신 버전이 등록된 상태에서 이전 버전의 발행 버튼을 누름 | SSOT가 발행하지 않고 새로 고침을 안내함 |
| 제안을 닫음 | SSOT가 닫은 이유를 버전 이력에 남기고, 발행본이 있으면 문서가 발행본만 있음 상태로 돌아감. 닫힌 제안의 코멘트는 새 제안에 이어서 표시되지 않음 |
| 발행본이 없는 새 문서의 제안을 닫음 | 문서가 닫히고, 주소로 열면 없음 화면이 열림. 같은 폴더에 새 문서는 등록할 수 있음 |
| 같은 문서에 에이전트와 사람이 동시에 고침 | 먼저 저장한 요청이 반영되고, SSOT는 늦게 저장한 요청을 충돌로 반려함. 늦게 저장한 에이전트나 사람은 최신 버전을 읽고 조정해 다시 등록함 |
| 다른 사람의 제안이 리뷰 중인데 에이전트가 새 버전을 등록함 | SSOT가 누구의 제안인지 이유를 알리며 반려함. 어드민의 에이전트도 같음 |
| 담당자를 바꾼 문서에 이전 담당자가 등록한 제안이 리뷰 중임 | 제안자가 재직 중이면 제안자를 그대로 두고, 새 담당자는 발행과 제안 닫기를 할 수 있음 |

### 9.3 공개범위와 인계

| 상황 | 결과 |
|---|---|
| 발행본이 있는 문서를 읽을 수 없는데 주소를 받음 | 권한 없음 화면이 열리고 담당자에게 권한을 요청할 수 있음 |
| 발행 전 문서를 읽을 수 없는데 주소를 받음 | 아직 발행되지 않아 볼 수 없다는 안내 화면이 열림. 권한 요청 버튼은 없음 |
| 문서를 비공개로 바꿈 | SSOT가 읽을 수 없게 된 사람의 홈, 목록, 검색, 관련 문서에서 문서를 제외하고, 참조 문서에는 자물쇠 아이콘을 표시함 |
| 새 담당자가 퇴사자나 휴직자임 | 새 담당자 선택에서 고를 수 없고, SSOT가 요청도 거절함 |
| 리드가 인계할 권한이 없는 구성원의 문서임 | 리드의 목록에 나오지 않고, 어드민만 담당자를 바꿈 |
| 인계한 뒤 실행 취소를 누르지 않고 10초가 지남 | 취소할 수 없고, 필요하면 담당자 변경 화면에서 다시 바꿈 |
| 담당자와 제안자가 모두 퇴사했고 리뷰 중인 제안이 있음 | 새 담당자가 정해질 때까지 발행, 제안 닫기, 코멘트 해결을 할 수 있는 사람이 없음. 어드민이 담당자 변경 화면에서 새 담당자를 정함. 리뷰어는 승인과 코멘트를 할 수 있고, 새 담당자를 정한 뒤에 제안자 이어받기와 발행을 함 |

### 9.4 화면과 연결

| 상황 | 결과 |
|---|---|
| 다른 브라우저나 기기에서 같은 문서를 엶 | 알림 읽음 표시는 서버에 저장되므로 브라우저나 기기와 상관없이 같음 |
| 코멘트를 남기는 중에 로그인이 만료됨 | SSOT가 오류 화면 없이 로그인이 만료됐다고 안내함 |
| 인터넷이 끊기거나 로그인이 만료된 채 저장함 | SSOT가 실패를 안내하고 편집기 본문, 코멘트, 이유 입력의 쓰던 글을 남김. 다시 연결하면 같은 내용으로 저장할 수 있음 |
| 검색 반영이 늦어짐 | 발행은 완료되고 검색 결과에는 아직 없을 수 있음. SSOT가 발행 진행에서 늦어짐을 알리고 완료로 추정하지 않음 |
| 최신성 유효 기간이 지난 문서를 담당자가 확인함 | SSOT가 확인한 날짜부터 유효 기간을 새로 계산하고 새 버전과 리뷰를 만들지 않음 |

## 10. 기존 정책과 달라진 점

기존 정책은 2026년 11월 12일 모노레포 develop에 개발된 SSOT의 동작임.

### 10.1 역할과 권한

| 항목 | 기존 | 바뀐 정책 | 바뀐 이유 |
|---|---|---|---|
| 구성원 역할 | <ul><li>구성원 역할 구분이 없음<ul><li>모든 구성원이 같은 권한을 받음</li></ul></li></ul> | <ul><li>구성원 역할은 어드민과 멤버 두 가지임<ul><li>어드민은 역할, 담당자, 문서 삭제와 복구 같은 시스템 관리만 함</li><li>어드민도 권한 없는 문서의 내용은 읽거나 고칠 수 없음</li></ul></li></ul> | <ul><li>담당자 변경, 문서 삭제와 복구, 변경 기록 확인은 한 문서의 담당자가 할 수 없는 관리 작업임<ul><li>이 작업을 맡을 사람이 필요함</li></ul></li></ul> |
| 편집 권한 | <ul><li>담당자, 제안자, 현재 리뷰어, 공유받은 사람이 본문을 고칠 수 있었음</li></ul> | <ul><li>담당자와 현재 제안자만 본문을 고칠 수 있음<ul><li>리뷰어는 본문을 고칠 수 없고 참조 문서만 넣고 뺄 수 있음</li></ul></li></ul> | <ul><li>리뷰어가 본문을 고치면 리뷰어가 자기가 쓴 내용을 승인하게 됨</li><li>또 발행 뒤에도 그 버전의 리뷰어가 새 제안을 등록할 수 있었음</li></ul> |
| 공개범위 변경 | <ul><li>담당자와 제안자가 공개범위를 바꿀 수 있었음</li></ul> | <ul><li>담당자만 공개범위를 바꿀 수 있음<ul><li>제안자는 바꿀 수 없음</li></ul></li></ul> | <ul><li>공개범위는 이미 발행된 버전을 누가 읽을 수 있는지도 정하는 문서 전체 설정임<ul><li>이 때문에 문서를 책임지는 담당자가 정함</li></ul></li><li>담당자가 퇴사하면 새 담당자가 정해진 뒤 바꿈</li></ul> |
| 권한이 생기는 기준 | <ul><li>문서를 발행한 사람과 지난 제안의 제안자도 계속 문서를 고칠 수 있었음</li></ul> | <ul><li>지금 담당자, 지금 리뷰 중인 제안의 제안자와 리뷰어만 그 역할의 권한을 받음<ul><li>발행자는 누가 발행했는지 이력에 남기는 이름이고 권한은 없음</li></ul></li></ul> | <ul><li>예전 역할에 권한이 남으면 지금 문서를 책임지지 않는 사람이 문서를 고칠 수 있음</li></ul> |
| 대분류와 폴더 | <ul><li>로그인한 구성원 누구나 대분류를 만들고 이름을 바꿀 수 있었음</li><li>문서를 옮기면서 새 폴더도 만들 수 있었음</li></ul> | <ul><li>구성원은 화면에서 폴더를 만들거나 이름을 바꿀 수 없음</li><li>대분류 15개는 고정임</li><li>폴더는 에이전트가 문서를 등록할 때만 만듦</li></ul> | <ul><li>대분류를 만들고 이름을 바꾸는 기능에 권한 확인이 없었음<ul><li>이 때문에 아무 구성원이나 대분류를 바꿀 수 있었음</li></ul></li><li>폴더는 에이전트가 문서를 등록할 때 정함</li></ul> |

### 10.2 리뷰와 발행

| 항목 | 기존 | 바뀐 정책 | 바뀐 이유 |
|---|---|---|---|
| 리뷰 중인 제안 수 | <ul><li>구성원마다 리뷰 중인 제안을 하나씩 열 수 있었음<ul><li>이 때문에 한 문서에 제안이 둘 이상 생길 수 있었음</li></ul></li></ul> | <ul><li>한 문서에는 리뷰 중인 제안이 하나만 있을 수 있음<ul><li>다른 구성원은 그 제안이 발행되거나 닫힐 때까지 코멘트로 의견을 남김</li></ul></li></ul> | <ul><li>같은 발행본을 바탕으로 두 구성원 이상이 따로 고친 제안이 생길 수 있었음<ul><li>이 때문에 어느 제안을 발행할지 정하고 두 수정 내용을 합쳐야 했음</li></ul></li></ul> |
| 발행할 수 있는 사람 | <ul><li>그 버전을 등록한 제안자만 발행할 수 있었음</li></ul> | <ul><li>제안자와 담당자가 발행할 수 있음</li></ul> | <ul><li>제안자가 퇴사하거나 휴직하면 승인을 다 받은 제안도 발행할 사람이 없었음</li></ul> |
| 수정 요청 | <ul><li>리뷰어는 승인과 수정 요청 중 하나만 고를 수 있었음</li></ul> | <ul><li>수정 요청은 리뷰어만 남길 수 있는 코멘트 종류임<ul><li>수정 요청 코멘트가 해결되기 전까지 발행할 수 없음</li><li>수정 요청은 승인 수를 바꾸지 않음</li></ul></li></ul> | <ul><li>승인과 수정 요청 중 하나만 고를 수 있었음<ul><li>이 때문에 승인하면서 고칠 점을 함께 남길 수 없었음</li></ul></li></ul> |
| 승인 취소 | <ul><li>서버는 승인 취소를 받았지만 화면에 버튼이 없어 리뷰어가 승인을 취소할 수 없었음</li></ul> | <ul><li>승인한 리뷰어는 직접 승인을 취소할 수 있음</li></ul> | <ul><li>승인을 잘못 눌렀거나 생각이 바뀐 리뷰어가 승인을 되돌릴 방법이 없었음</li></ul> |
| 리뷰어 지정 | <ul><li>팀이나 파트를 골라 그 구성원 전원을 리뷰어로 지정할 수 있었음</li></ul> | <ul><li>리뷰어는 사람 단위로 들어감. 리뷰어 추가 검색에서 파트를 고르면 파트원이 한 명씩 리뷰어로 들어감. 팀과 그룹은 고를 수 없음</li></ul> | <ul><li>팀이나 그룹 전원이 리뷰어가 되면 리뷰어가 너무 많아짐<ul><li>이 때문에 누가 승인해야 하는지 흐려짐</li></ul></li></ul> |
| 리뷰 기한 | <ul><li>리뷰 기한이 없었음</li></ul> | <ul><li>리뷰어로 지정된 지 2주가 지나도 승인도 수정 요청도 하지 않으면 「리뷰 기한 지남」으로 표시함<ul><li>그 리뷰어와 제안자에게 알림을 한 번 보냄</li></ul></li></ul> | <ul><li>승인도 수정 요청도 하지 않는 리뷰어 때문에 멈춘 제안을 찾을 방법이 없었음</li></ul> |
| 되돌리기 | <ul><li>옛 버전으로 되돌리려면 그 버전을 새 제안으로 등록하고 리뷰를 다시 거쳐야 했음</li></ul> | <ul><li>담당자는 이유를 적고 예전에 발행했던 버전으로 바로 되돌릴 수 있음<ul><li>되돌린 버전은 리뷰 없이 바로 발행됨</li></ul></li></ul> | <ul><li>되돌리는 버전은 이미 리뷰를 거쳐 발행했던 버전임<ul><li>이 때문에 다시 리뷰할 필요가 없음</li></ul></li></ul> |
| 본문 끝까지 읽어야 승인 | <ul><li>리뷰어가 본문을 끝까지 스크롤해야 승인 버튼이 켜졌음<ul><li>2026년 11월 4일 개발 저장소에서 이 제한을 뺌</li></ul></li></ul> | <ul><li>지금은 리뷰어가 스크롤과 상관없이 승인함</li><li>이 제한을 다시 넣자고 제안함</li></ul> | <ul><li>리뷰어가 본문을 읽지 않고 승인하는 일을 막을 수 있음</li></ul> |

### 10.3 퇴사, 휴직, 담당자 변경

| 항목 | 기존 | 바뀐 정책 | 바뀐 이유 |
|---|---|---|---|
| 퇴사나 휴직한 리뷰어 | <ul><li>리뷰어로 지정된 사람이 퇴사하거나 휴직해도 리뷰어로 남았음</li></ul> | <ul><li>리뷰어가 퇴사하거나 휴직하면 SSOT가 자동으로 리뷰어에서 해제함<ul><li>필요한 승인 수는 남은 리뷰어 수에 맞춰 다시 계산함</li></ul></li><li>휴직자는 리뷰어로 새로 지정할 수 없음</li></ul> | <ul><li>퇴사한 리뷰어는 승인할 수 없음<ul><li>이 때문에 그 리뷰어가 남아 있으면 필요한 승인 수를 끝내 채우지 못하는 제안이 남았음</li></ul></li></ul> |
| 퇴사나 휴직한 제안자 | <ul><li>제안자가 퇴사하거나 휴직해도 그 제안의 권한이 그 사람에게 남았음</li></ul> | <ul><li>제안자가 퇴사하거나 휴직하면 그 제안은 「제안자 없음」 상태가 됨<ul><li>담당자가 제안자를 이어받아 계속 고칠 수 있음</li></ul></li></ul> | <ul><li>제안의 권한이 퇴사자에게 남아 있었음<ul><li>이 때문에 그 제안을 이어서 고칠 사람이 없었음</li></ul></li></ul> |
| 담당자 변경 | <ul><li>담당자를 바꾸는 기능이 없었음</li></ul> | <ul><li>리드와 어드민이 담당자를 바꿀 수 있음<ul><li>새 담당자의 수락은 필요 없음</li></ul></li><li>SSOT는 매일 퇴사자와 휴직자의 문서를 자동으로 넘김<ul><li>넘겨받을 사람은 그 사람의 파트리드, 팀리드, 그룹리드 순으로 찾음</li></ul></li></ul> | <ul><li>담당자를 바꾸는 기능이 없었음<ul><li>이 때문에 퇴사자의 문서를 책임질 사람을 정할 수 없었음</li></ul></li></ul> |
| 최고 책임자 | <ul><li>최고 책임자가 정해져 있지 않았음</li></ul> | <ul><li>인사 정보에서 CEO로 표시된 재직 중인 구성원 전원이 최고 책임자임</li><li>자동 변경이 넘겨받을 리드를 찾지 못한 문서는 최고 책임자가 담당자 지정 필요 카드로 받음</li></ul> | <ul><li>파트리드, 팀리드, 그룹리드가 모두 없으면 문서를 넘겨받을 사람이 정해지지 않았음</li></ul> |

### 10.4 문서 관리

| 항목 | 기존 | 바뀐 정책 | 바뀐 이유 |
|---|---|---|---|
| 문서 삭제 | <ul><li>문서를 삭제하는 기능이 없었음</li></ul> | <ul><li>어드민이 문서를 삭제하고 복구할 수 있음<ul><li>삭제해도 데이터를 지우지 않아 복구할 수 있음</li></ul></li></ul> | <ul><li>잘못 등록한 문서를 지울 방법이 없었음</li></ul> |
| 읽을 수 없는 문서 | <ul><li>권한이 없는 문서를 열면 없는 문서와 같은 404 화면이 나왔음</li></ul> | <ul><li>발행본이 있는 문서는 「권한 없음」 화면과 권한 요청 버튼을 보여 줌</li><li>아직 발행되지 않은 문서는 발행 전이라 읽을 수 없다는 안내 화면을 보여 줌</li></ul> | <ul><li>권한이 없는 문서가 없는 문서와 구분되지 않았음<ul><li>이 때문에 구성원이 권한을 요청할 수 없었음</li></ul></li></ul> |
| 같은 이름의 문서 | <ul><li>주소가 같은 문서만 막았음<ul><li>이 때문에 같은 폴더에 이름이 같은 문서를 등록할 수 있었음</li></ul></li></ul> | <ul><li>같은 폴더에 이름이 같은 문서를 등록할 수 없음</li></ul> | <ul><li>같은 폴더에 이름이 같은 문서가 있을 수 있었음<ul><li>이 때문에 검색과 에이전트가 어느 문서가 기준인지 구분하지 못함</li></ul></li></ul> |
| 폴더 이동 | <ul><li>편집 권한이 있는 구성원이 문서를 옮길 수 있었음</li><li>옮기면서 새 폴더도 만들 수 있었음</li></ul> | <ul><li>담당자만 문서를 이미 있는 폴더로 옮길 수 있음<ul><li>옮겨도 새 버전이 생기지 않음</li></ul></li></ul> | <ul><li>옮기면서 새 폴더를 만들 수 있었음<ul><li>이 방식은 대분류 15개를 고정한 정책과 맞지 않음</li></ul></li></ul> |
| 참조 문서 | <ul><li>참조 문서를 본문 머리글에 저장했음<ul><li>이 때문에 참조 문서만 바꿔도 새 버전이 생겼음</li></ul></li></ul> | <ul><li>참조 문서는 제안마다 저장함<ul><li>발행할 때 발행본에 고정함</li><li>새 제안은 발행본의 참조 문서 목록을 이어받음</li><li>SSOT 밖의 주소도 넣을 수 있음</li></ul></li></ul> | <ul><li>참조 문서만 바꿔도 새 버전이 생겼음<ul><li>이 때문에 리뷰를 다시 받아야 했음</li></ul></li></ul> |
| 변경 기록 | <ul><li>관리 작업의 기록이 없었음</li></ul> | <ul><li>역할 변경, 담당자 변경, 문서 삭제와 복구 같은 관리 작업을 변경 기록에 영구 보관함</li></ul> | <ul><li>누가 언제 역할과 담당자를 바꿨는지 알 수 없었음</li></ul> |

### 10.5 최신성, 신뢰도, 알림

| 항목 | 기존 | 바뀐 정책 | 바뀐 이유 |
|---|---|---|---|
| 최신성 유효 기간의 시작 | <ul><li>마지막으로 승인한 날부터 유효 기간을 계산함</li></ul> | <ul><li>발행한 날이나 담당자가 최신 정보임을 확인한 날부터 유효 기간을 계산함</li></ul> | <ul><li>독자는 발행된 날부터 그 내용을 읽음<ul><li>이 때문에 유효 기간은 발행한 날부터 세야 함</li></ul></li></ul> |
| 최신 정보 확인 | <ul><li>「문서 갱신하기」 버튼을 누르면 편집이 열렸음<ul><li>이 때문에 내용이 그대로 맞아도 새 버전을 만들고 리뷰를 다시 받아야 했음</li></ul></li></ul> | <ul><li>담당자가 「최신 정보임을 확인했어요」 버튼으로 확인만 하면 유효 기간이 다시 시작됨<ul><li>새 버전과 리뷰는 만들지 않음</li></ul></li></ul> | <ul><li>내용이 그대로 맞는 문서도 편집과 리뷰를 다시 거쳐야 했음</li></ul> |
| 최신 정보인지 확인 필요 할 일 | <ul><li>만료 30일 전부터 「최신 정보인지 확인 필요」 할 일이 생겼음</li></ul> | <ul><li>문서가 만료되어 오래된 문서가 될 때 할 일이 한 번 생김</li></ul> | <ul><li>만료 30일 전부터 할 일이 생겼음<ul><li>이 때문에 아직 유효한 문서까지 할 일이 쌓였음</li></ul></li></ul> |
| 기록 유형 문서 | <ul><li>기록 유형 문서도 다른 유형과 같은 유효 기간이 있었음<ul><li>이 때문에 기록 유형 문서도 오래된 문서가 됐음</li></ul></li></ul> | <ul><li>기록 유형 문서에는 유효 기간이 없음<ul><li>이 때문에 오래된 문서가 되지 않음</li></ul></li></ul> | <ul><li>기록 유형은 그 시점에 정한 내용을 남긴 문서임<ul><li>이 때문에 최신 내용으로 고칠 대상이 아님</li></ul></li></ul> |
| 신뢰도 직접 다시 평가 | <ul><li>신뢰도 카드를 읽을 수 있는 구성원 누구나 다시 평가를 요청할 수 있었음</li></ul> | <ul><li>담당자와 제안자만 다시 평가를 요청할 수 있음<ul><li>평가 중이거나, 마지막 평가 뒤 10초가 지나지 않았거나, 오래된 문서이면 새 평가를 하지 않음</li></ul></li></ul> | <ul><li>구성원 누구나 반복해서 요청할 수 있었음<ul><li>이 때문에 평가 비용이 늘어남</li></ul></li></ul> |
| 알림 | <ul><li>알림을 저장하지 않고 화면을 열 때마다 할 일과 승인 상태로 계산했음</li></ul> | <ul><li>알림을 서버에 30일 동안 저장함<ul><li>읽음 표시도 저장함</li></ul></li><li>알림이 가는 상황은 알림 절의 표와 같음</li></ul> | <ul><li>읽음 상태를 저장하지 않았음<ul><li>이 때문에 기기를 바꾸면 읽은 알림이 다시 안 읽음으로 보였음</li></ul></li></ul> |
| 문서 목록 | <ul><li>문서 목록이 한 번에 500건까지만 읽었음<ul><li>이 때문에 500건이 넘으면 나머지 문서가 목록에 보이지 않았음</li></ul></li></ul> | <ul><li>문서 목록이 쪽마다 그 쪽에 보일 문서만 읽음</li></ul> | <ul><li>500건이 넘는 문서는 목록에 보이지 않았음</li></ul> |

## 11. 개발자가 집중해서 볼 내용

### 11.1 테이블 변경

- 11.1.1 DB 변경 PR의 마이그레이션 0022는 칸과 테이블을 더하기만 하고 이름을 바꾸거나 지우지 않음. 옛 서버 이미지와 함께 돌아도 깨지지 않음.

| 대상 | 바뀌는 칸 | 쓰는 정책 |
|---|---|---|
| `person` | `role`, `is_ceo` | 구성원 역할, 최고 책임자 |
| `doc` | `author_needed_since` | 담당자 지정 필요와 대기 일수 |
| `doc` | `deleted_at`, `deleted_by_id` | 문서 삭제와 복구 |
| `doc` | `freshness_confirmed_at`, `freshness_confirmed_by_id` | 최신 정보 확인 |
| `doc_proposal` | `taken_over_from_id`, `taken_over_at` | 제안자 이어받기 |
| `doc_reviewer` | `assigned_at` | 리뷰 기한 지남 |
| `doc_merge` | `bypassed_review`, `reverted_from_version_id`, `revert_reason` | 되돌리기 |
| `doc_move` 새 테이블 | 폴더 이동 기록 | 폴더 이동 |
| `doc_access_request` 새 테이블 | 권한 요청 | 권한 없음 화면 |
| `notification` 새 테이블 | 저장되는 알림, 30일 보관 | 알림 |
| `audit_log` 새 테이블 | 변경 기록, 추가만 하고 영구 보관 | 변경 기록 |

- 11.1.2 아래 세 가지는 기존 데이터에 따라 마이그레이션이 실패할 수 있어 0022에 넣지 않음. 개발팀이 운영 DB에서 사전 점검 쿼리가 0건인지 확인한 뒤 새 마이그레이션으로 만들어야 함.
  - 문서당 리뷰 중인 제안 하나: 열린 제안 유일 인덱스를 문서와 제안자 쌍에서 문서 하나로 바꿈
  - 승인과 수정 요청 분리: 리뷰어 상태가 수정 요청인 행을 대기 상태로 옮김
  - 같은 폴더 같은 이름 금지: 폴더와 제목 기준 유일 인덱스를 더함

### 11.2 서버 규칙과 기능

| 묶음 | 바꾸거나 새로 만드는 일 |
|---|---|
| 권한 확인 | <ul><li>`canReadSql`, `canEditSql`, `mergeBlock`에 어드민 예외를 두지 않음</li><li>`canEditSql`에서 리뷰어와 공유받은 사람을 뺌</li><li>공개범위 변경 권한을 담당자로 바꿈</li></ul> |
| 발행 조건 | <ul><li>담당자도 발행함</li><li>해결하지 않은 수정 요청 코멘트가 있으면 서버가 발행을 거절함</li></ul> |
| 새 명령 | <ul><li>역할 변경, 담당자 변경, 제안자 이어받기, 문서 삭제와 복구</li><li>권한 요청, 최신 정보 확인, 되돌리기, 승인 취소</li><li>담당자 변경 실행 취소, 알림 읽음 표시 저장</li></ul> |
| 새 조회 | <ul><li>운영 관리 구성원 목록, 변경 기록, 알림, 담당자 지정 필요 카드</li><li>읽을 수 없는 문서의 존재 여부, 발행본 유무</li><li>담당자 변경 화면 목록: 리드 범위, 담당자 지정 필요 필터, 대기 일수</li></ul> |
| 매일 배치 | <ul><li>인사 정보 동기화 직후 퇴사자와 휴직자의 리뷰어 해제, 제안자 없음 판단(제안자 칸은 지우지 않고 재직 상태로 판단), 담당자 자동 변경</li><li>30일 지난 알림 정리</li></ul> |
| 에이전트 | <ul><li>다른 구성원의 제안이 리뷰 중이면 등록을 거절하고 누구의 제안인지 알림</li><li>같은 폴더에 같은 이름이 있으면 거절하고 사람에게 물을 말을 함께 돌려줌</li></ul> |

### 11.3 인사 정보에서 받아야 할 값

| 값 | 쓰는 정책 | 확인할 내용 |
|---|---|---|
| CEO 표시 | 최고 책임자 | 인사 정보 API가 CEO 표시를 내려주는지 |
| 휴직 상태 | 휴직자 자동 인계, 리뷰어 해제, 이름 뒤 (휴) | 인사 정보 API가 휴직 값을 내려주는지 |
| 퇴사 날짜 | 매일 자동 변경 | 퇴사가 동기화에 당일 들어오는지 |
| 퇴사나 휴직 직전 소속 | 매일 자동 변경, 담당자 변경 화면 | 동기화에서 퇴사 처리 전 소속을 SSOT가 저장할 수 있는지 |
| 리드 표시 | 가까운 리드 찾기 | 조직별 리드를 하나로 정할 수 있는지 |

### 11.4 기존 데이터 정리

- 11.4.1 열린 제안이 둘 이상인 문서는 어느 제안을 남길지 정해야 함.
- 11.4.2 같은 폴더에 같은 이름인 문서는 이름을 바꾸거나 한쪽을 닫아야 함.
- 11.4.3 이미 닫힌 문서는 삭제로 닫힌 문서와 제안 닫기로 닫힌 문서를 구분할 수 없음. 기존 닫힌 문서를 모두 제안 닫기로 볼지 정해야 함.
- 11.4.4 퇴사나 휴직한 담당자의 기존 문서는 첫 자동 변경 때 한꺼번에 바뀜. 변경 기록과 알림이 한꺼번에 쌓이지 않도록 나누어 실행할지 정해야 함.
- 11.4.5 기록 유형 문서에 남아 있는 만료 상태와 할 일을 정리해야 함.
- 11.4.6 기존 리뷰어의 지정 시각은 배포 시각으로 채움.
- 11.4.7 첫 어드민은 배포 때 개발팀이 지정함. CEO 표시가 들어오면 CEO도 어드민이 됨.

### 11.5 반영 순서

| 순서 | 내용 | 먼저 끝나야 하는 일 |
|---|---|---|
| 1 | 서버와 무관한 화면 변경. 화면 규칙 PR | 없음 |
| 2 | 권한과 발행 규칙 | 열린 제안이 둘 이상인 문서와 같은 이름 문서 정리, 구성원 역할 칸과 변경 기록 테이블 |
| 3 | 구성원 역할, 퇴사와 휴직 자동 해제, 리드 찾기, 최고 책임자 | 변경 기록 테이블 |
| 4 | 담당자 변경과 매일 자동 변경 | 3단계 |
| 5 | 알림 저장과 슬랙 다섯 가지 | 3단계, 4단계 |
| 6 | 삭제와 복구, 권한 요청, 같은 이름 금지, 폴더 이동 | 3단계, 기존 닫힌 문서 구분 |
| 7 | 최신 정보 확인, 신뢰도 규칙, 되돌리기, 참조 문서 | 변경 기록, 알림 |
| 8 | 데모 화면을 서버에 연결 | 2단계부터 7단계 |
