feat(privacy): /account-deletion 페이지 — Play 데이터 보안 필수 URL
Deploy momo-erp / deploy (push) Successful in 2m4s

Google Play 데이터 보안 섹션에서 '계정 URL 삭제' 필드에 넣을 페이지.
앱 내 self-service 삭제가 없는 B2B 앱이므로 이메일/전화 요청 절차를
명시한 정적 안내 페이지로 처리.

* 삭제 요청 방법 (이메일/전화)
* 처리 기간 (14일 이내)
* 삭제되는 데이터 vs 법령상 보관되는 데이터
* /privacy 와 동일하게 middleware 인증 면제

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
chpark
2026-05-20 12:09:01 +09:00
parent 45af622afb
commit 7a712c164e
2 changed files with 102 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
// 계정 삭제 요청 안내 페이지 — Google Play 데이터 보안 섹션 필수.
// "사용자가 앱 외부에서 자기 계정 및 데이터를 삭제하도록 요청하는 방법" 제공.
export const metadata = {
title: "계정 삭제 요청 | 모모유통 ERP",
description: "모모유통 ERP 앱 계정 및 관련 데이터 삭제 요청 안내",
};
const COMPANY = "모모유통";
const APP = "모모유통 ERP";
const CONTACT_EMAIL = "momo8443@daum.net";
const CONTACT_PHONE = "010-6369-8443";
export default function AccountDeletionPage() {
return (
<main className="max-w-3xl mx-auto px-5 py-10 text-slate-800 leading-relaxed">
<h1 className="text-2xl font-bold mb-2"> </h1>
<p className="text-sm text-slate-500 mb-8">: {COMPANY} · : {APP}</p>
<Sec t="1. 삭제 요청 방법">
<p>
/ B2B , ·.
.
</p>
<h3 className="font-bold mt-4 mb-2"> ()</h3>
<ul className="list-disc pl-5 space-y-1">
<li> : <a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:underline">{CONTACT_EMAIL}</a></li>
<li>: <code className="bg-slate-100 px-1 rounded">[ERP] </code></li>
<li> :
<ul className="list-[circle] pl-5 mt-1">
<li> ID (: momo048)</li>
<li> / </li>
<li> ( )</li>
<li> </li>
</ul>
</li>
</ul>
<h3 className="font-bold mt-4 mb-2"> </h3>
<p>{CONTACT_PHONE} ( 09:00~18:00)</p>
</Sec>
<Sec t="2. 처리 절차 및 기간">
<ul className="list-disc pl-5 space-y-1">
<li> ( 1~2 )</li>
<li> <b>14 </b> </li>
<li> </li>
</ul>
</Sec>
<Sec t="3. 삭제되는 데이터">
<ul className="list-disc pl-5 space-y-1">
<li> 정보: 이름/, , , , , </li>
<li> 증명: 사용자 ID, </li>
<li> 데이터: 발주 ( ), </li>
<li> (3 )</li>
</ul>
</Sec>
<Sec t="4. 법령에 따라 보관되는 데이터">
<p className="mb-2">
.
.
</p>
<ul className="list-disc pl-5 space-y-1">
<li> (··): 5</li>
<li> : 3</li>
<li> : 5</li>
</ul>
</Sec>
<Sec t="5. 일부 데이터만 삭제하고 싶을 때">
<p>
(: 전화번호, ) ·
.
</p>
</Sec>
<Sec t="6. 문의">
<ul className="space-y-1">
<li>: <a href={`mailto:${CONTACT_EMAIL}`} className="text-blue-600 hover:underline">{CONTACT_EMAIL}</a></li>
<li>: {CONTACT_PHONE}</li>
</ul>
</Sec>
<footer className="mt-10 pt-6 border-t border-slate-200 text-xs text-slate-500">
2026-05-20 . .
</footer>
</main>
);
}
function Sec({ t, children }: { t: string; children: React.ReactNode }) {
return (
<section className="mb-6">
<h2 className="text-base font-bold text-slate-900 mb-2">{t}</h2>
<div className="text-sm">{children}</div>
</section>
);
}
+1
View File
@@ -10,6 +10,7 @@ export function middleware(request: NextRequest) {
"/m/login",
"/signup",
"/privacy",
"/account-deletion",
"/api/auth/login",
"/api/auth/signup",
"/api/auth/mobile-login",