업데이트
v5.7 — 개인화 피드 + 새 앱 아이콘 + 출시 직전 보안 점검 35건
· 먹킷 팀
v5.7은 출시 직전 마지막 사이클입니다. 전반부는 사용자 경험을 한 단계 끌어올리는 개인화 피드와 새 앱 아이콘, 후반부는 보안 점검 35건을 끝낸 보안 강화 라운드입니다.
개인화 피드 알고리즘
기존의 단순 시간순 피드를 점수 기반 개인화 피드로 전환했습니다.
점수 공식
점수 = (좋아요 + 댓글 + 공유×2 + 저장×1.5) × 시간 감쇠
+ 팔로잉 +5 + 같은 구 +5 + 같은 시 +2
- 시간 감쇠는 1주일 후 점수 절반
- 양방향 차단 / 비공개+미팔로워 / 숨김 글 모두 자동 필터
- 본인 글은 항상 노출
- 무한스크롤을 cursor 방식으로 전환해 누락·중복 제거
신규 게시물 노출 보강 (콜드스타트)
사용자 보고: “새 글이 옛날 글 아래에 표시됨.”
인터랙션 0인 신규 게시물은 점수가 0이 되어 묻히던 문제. 24시간 이내 게시물에 추가 가산점을 부여해, 이제 막 올라온 글도 자연스럽게 상단에 노출되도록 정비했습니다.
새 앱 아이콘
- 새 런처 아이콘을 자동 생성 도구로 적용
- Android / iOS 모든 사이즈 갱신
- App Store 요구에 맞춰 iOS 알파 채널 제거
피드 사진 업로드 timeout fix
사용자 보고: “사진 3장 게시할 때 60초 후 갑자기 안 된다.”
- 원인: 이미지 압축률이 사실상 무압축으로 설정되어 있어, 갤럭시 원본 사진이 그대로 업로드되어 60초를 초과
- 해결: 이미지 압축률을 **인스타·페북 표준(85%)**로 조정 (시각 차이 거의 없음) + timeout 90초로 연장
공유 아이콘 인스타식 종이비행기
- 피드 카드와 공유 모달의 공유 버튼을 동일한 우상향 종이비행기 아이콘으로 통일
- 사용자 피드백 반영 — 가로 반듯한 모양보다 대각선 모양 선호
출시 직전 보안 점검 35건 일괄 처리
내부 보안 감사에서 도출된 **35건(audit2 21건 + audit3 13건 + 후속 1건)**을 한 사이클에서 모두 처리했습니다.
핵심 보강
1. 핵심 데이터 보호
- 사용자 프로필의 개인정보(이메일·전화 등) 익명 접근 차단
- 본인 정보는 별도 안전 채널을 통해서만 조회
2. 위·변조 방지
- 좋아요/댓글/공유/저장 카운트 위조 방지 트리거
- 평점 조작·시간당 무제한 등록 방지 (분당/시간당 제한)
- 작성자 닉네임·프로필 표시 위조 방지
- 광고/배틀/조회수 익명 INSERT 차단
3. 외부 키 격리
- Kakao API 키를 앱에서 제거 → Cloudflare Worker 프록시로 이관
- OpenWeather + GPS 좌표도 동일한 방식으로 이관 (좌표 라운드 처리로 위치 정밀도 마스킹)
- 앱 내부에 잔존하던 정적 시크릿 모두 제거
4. 입력 검증 강화
- 텍스트 길이 제한 (DOS 방지)
- 비밀번호 정책 통일 (8자 / 영문 + 숫자)
- 이메일 형식 검증 + 별칭 정규화
- 유니코드 제어·포맷 문자 정리
- 검색어 sanitize + 길이 제한
- 매장 태그 자유텍스트 제한 → 권위 데이터 강제
5. 파일 업로드 보안
- Cloudflare Worker에서 SVG 차단 + 파일 매직 바이트 검증
- 화이트리스트 기반 업로드만 허용
6. 안드로이드 빌드 보안
- R8 minify + ProGuard 적용 (앱 코드 난독화)
allowBackup=false+ 백업 룰 적용 (외부 추출 차단)- 인증 정보 암호화 저장소로 이관
- Crashlytics 로그 PII 마스킹 wrapper
7. 핸들 squat 방지
- 핸들 변경 시 30일 cooldown + 90일 reserved 기간
- 변경 이력 추적
8. 약관 동의 화면 (개인정보 보호법 제15조)
- 가입 시 약관 동의 화면 + 동의 이력 저장 RPC
- 약관 3종을 별도 페이지에 호스팅 (시행일 2026-05-01):
빌드 결과
- release APK R8 minify 첫 적용 빌드 성공 (172.4MB)
- 정적 분석 신규 워닝 0건
v5.7 사이클을 마치며 먹킷은 출시 직전 보안 검토를 모두 통과했습니다. v5.0의 사이클 시작 이래 35건의 인증·암호화·개인정보·약관 점검을 누적 처리했습니다.