Plato

개인정보 및 네트워크 정책

PLATO Classic은 PLATO 메인 및 대시보드 화면을 변경하기 위해 페이지에 렌더링된 DOM을 읽고 수정합니다. 대시보드의 강의명, 공지와 예정 일정은 브라우저 안에서만 구형 레이아웃에 다시 표시됩니다.

로그인 전 화면의 구형 로그인 폼은 PLATO의 공식 로그인 페이지에서 일회성 로그인 토큰을 같은 출처로 받아옵니다. 사용자가 입력한 아이디와 비밀번호는 https://plato.pusan.ac.kr/login/index.php로 직접 제출되며, 확장 프로그램은 해당 입력값을 읽거나 저장하지 않습니다.

로그인 전·후 메인의 공개 강좌 목록을 표시하기 위해 PLATO의 공개 메인과 PNU ON 목록, https://dev-plato.pusan.ac.kr/의 공개 메인 HTML을 로그인 쿠키 없이 GET으로 조회합니다. 응답에서는 강좌 링크, 제목, 분류, 상태와 이미지 주소만 읽습니다. 구 메인 응답은 5분간 서비스 워커 메모리에만 캐시합니다.

신규 교과과정 화면의 2026학년도 2학기 이전 학기(1학기·여름계절·여름도약수업 포함)에서는 같은 연도·학기의 이전 PLATO 교과과정 페이지를 GET으로 조회할 수 있습니다. 이 조회에는 브라우저가 이미 보유한 이전 PLATO 로그인 쿠키가 사용될 수 있습니다. 서비스 워커 GET에 로그인 쿠키가 전달되지 않으면 같은 GET 주소를 비활성 임시 탭으로 열어 강좌명과 강의실 링크만 읽은 뒤 즉시 닫습니다. 신·구 PLATO 세션이 분리되어 인증할 수 없는 경우에는 확장 프로그램이 자격증명을 복사하거나 저장하지 않으며, 선택한 학기의 이전 PLATO 페이지를 사용자가 직접 열 수 있는 버튼을 표시합니다. 계정이 바뀌었을 때 이전 결과가 섞이지 않도록 인증된 과거 강좌 응답은 서비스 워커에 캐시하지 않으며, 비밀번호와 쿠키 문자열도 확장 프로그램 저장소에 저장하지 않습니다.

사용자 패널의 알림 탭은 페이지에 이미 렌더링된 알림을 먼저 사용합니다. 사용자가 알림 탭에 처음 진입하거나 새로고침 버튼을 누르면 PLATO가 제공하는 /local/ubnotification/action.php에 고정된 읽기 전용 lists 요청을 한 번 보냅니다. 이 API는 조회임에도 POST만 지원하므로 현재 페이지의 세션 키와 로그인 쿠키가 같은 plato.pusan.ac.kr 출처로 전송됩니다. 응답의 최근 알림 제목·출처·날짜와 링크는 패널에 표시할 동안 메모리에만 유지됩니다. 알림 삭제와 전체삭제 action은 호출하거나 UI에 노출하지 않습니다.

확장 프로그램 팝업에서 선택한 Classic UI 활성화 설정은 chrome.storage.local에 저장합니다. 강좌 페이지의 빠른 이동 목록을 유지하기 위해 강좌명, 교수명, 학기, 강좌 ID와 링크를 chrome.storage.session에 임시 캐시하며, 브라우저 세션이 끝나면 삭제됩니다. 이전 빌드가 로컬 저장소에 남긴 동일한 강좌 캐시 키는 서비스 워커가 시작될 때 삭제합니다. 로그인 정보, 쿠키, 세션 키, 알림 내용은 저장하지 않습니다.

사용자 메뉴를 처음 열 때 현재 계정의 공식 PLATO 프로필 페이지를 같은 출처 GET으로 한 번 조회할 수 있습니다. 프로필에 학번 또는 학과·소속 정보가 표시된 경우 해당 항목 하나만 사용자 메뉴에 표시하며, 찾지 못하면 보조 문구를 표시하지 않습니다. 이 값은 확장 프로그램 저장소에 기록하지 않습니다.

확장 프로그램은 다음 작업을 하지 않습니다.

공개 페이지 탐색과 API 자료 갱신은 GET 또는 HEAD만 사용합니다. 페이지에 숨은 POST 폼이나 action URL이 있더라도 필드명과 존재 여부만 기록하며 제출하지 않습니다. 로그인 POST는 사용자가 로그인 폼을 직접 제출할 때만 발생하고, 그 외 유일한 예외는 위에서 설명한 명시적 알림 새로고침의 lists 조회입니다.

PLATO 페이지 자체와 페이지가 원래 포함한 외부 스크립트의 네트워크 요청은 이 확장 프로그램의 통신이 아닙니다. 확장 프로그램은 학교가 제공하는 기존 링크와 DOM을 재배치하고, 위에 명시한 학교 도메인의 조회 요청만 추가로 사용합니다.