PPSTUDIO 개발일지 목록

2026-07-20 · DEVELOPMENT RECORD

소개·개인정보 문서와 API 오류 처리를 함께 정리한 날

추천 화면은 동작했지만 운영 주체와 문의처, 저장하는 정보는 충분히 보이지 않았다. 정적 안내 페이지를 추가하면서 API가 실패해도 사용자가 확인할 수 있는 정보와 다음 행동을 정리했다.

공개 문서
소개·문의·개인정보·약관·팁
요청 제한
추천 본문 32KB
카탈로그 캐시
15일 hard TTL

공개 준비에서 확인한 범위

서비스 소개와 개인정보 안내를 앱 밖에서도 읽을 수 있게 만들었다. 동시에 API 요청 크기와 오류 응답, 위치 좌표의 저장 여부를 점검했다. 안내에 적힌 처리 방식과 실제 코드가 맞는지 함께 확인한 시기다.

기능이 있어도 서비스 설명과 실패 경로가 비어 있었다

추천 화면은 동작했지만 운영 주체, 문의처, 개인정보 처리, 이용 방식은 앱 안에서 충분히 설명되지 않았다. API가 실패했을 때 사용자가 메뉴를 계속 볼 수 있는지와 공개 문서가 앱 장애와 무관하게 열리는지도 별개의 문제였다.

광고 검토를 계기로 안내 페이지와 실제 동작을 함께 점검했다. 계정 없이 쓰는 서비스에서도 브라우저에 저장하는 항목이 있었고, 외부 요청이 실패했을 때의 안내도 필요했다.

정적 문서와 API 방어를 독립시켰다

소개, 문의, 추천 방식, 개인정보처리방침, 약관, 팁과 404를 React 앱과 API에 의존하지 않는 정적 문서로 만들었다. 앱이 열리지 않아도 사용자가 서비스 정보를 읽고 문의할 수 있게 하기 위해서다.

추천 요청은 32KB로 제한하고 내부 순위표는 공개 응답에서 제거했으며, 공통 오류 응답을 추가했다. 경로를 난독화했지만 이를 인증 수단처럼 설명하지 않았고, 실제 보안 경계와 구분했다.

15일 캐시와 좌표 폐기 규칙을 실패 조건으로 검증했다

카탈로그는 유효 캐시를 저장하고 15일이 지나거나 시간이 비정상이면 삭제하도록 했다. 캐시가 있으면 카탈로그 실패 뒤에도 메뉴 탐색을 이어가고, 캐시도 없으면 장애 화면과 다시 시도를 제공한다.

정확한 위치 좌표는 지도 URL 생성에만 쓰고 localStorage나 로그에는 남기지 않았다. 위치 설정, 지도 열기, 임시 알림, 오프닝을 별도 모듈로 분리하고 요청 크기·오류·공개 페이지·캐시 만료를 테스트했다.

광고 설정과 배포 환경은 별도 확인이 필요했다

정적 정책 문서와 API 제한을 넣었다고 광고 승인이 보장되거나 서비스가 모든 위협에 안전해지는 것은 아니다. 광고 사업자, 동의 관리, 실제 배포 설정은 별도 결정과 검증이 필요하다.

앱에 문제가 생겨도 문의처와 개인정보 안내는 열리게 됐다. API 응답에서는 내부 순위표와 예외 내용을 제외하고, 화면에 필요한 결과와 공통 오류만 전달하도록 정리했다.

운영 문서가 낡는 순간

새 저장 항목이나 외부 요청을 넣으면 개인정보 안내도 달라진다. 특히 좌표를 저장하지 않는다는 설명은 로그와 브라우저 저장 코드를 함께 확인해야 유지할 수 있다.

캐시는 15일이 지나면 지우고 32KB를 넘는 요청은 거절하도록 했다. 이 수치를 바꾸게 되면 만료 직전·직후와 요청 크기 경계에서 동작을 다시 확인해야 한다. 데이터가 없는 상태에서 재시도할 수 있는지도 함께 볼 항목이다.