o2o-infinith-demo/plugins/public-bundle-denylist.json
Haewon Kam 6b387c130c feat: 공개 배포 번들 검사로 실제 병원명·비밀 키가 있으면 빌드를 실패시킨다
webforai.kr 빌드 결과에서 실제 병원명·도메인, Google·Supabase 키, reports/·assets/clients/ 파일을 찾으면
빌드를 멈춰 Vercel 배포가 진행되지 않게 한다. 목록은 plugins/public-bundle-denylist.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 14:21:53 +09:00

30 lines
1.9 KiB
JSON

{
"_comment": "공개 배포(webforai.kr) 빌드 결과에 있으면 빌드를 실패시키는 목록. plugins/vite-plugin-public-bundle-guard.ts 가 읽는다. 계약·공개 상황이 바뀌면 이 파일만 고친다. pattern 은 정규식(대소문자 무시)이다.",
"clinics": [
{ "label": "뷰성형외과", "pattern": "뷰성형외과|viewclinic|viewplastic|ViewclinicKR" },
{ "label": "원진성형외과", "pattern": "원진성형외과|k-wonjin|wonjin" },
{ "label": "바노바기", "pattern": "바노바기|banobagi" },
{ "label": "그랜드성형외과", "pattern": "그랜드성형외과|grandsurgery|grand_korea" },
{ "label": "서울이룸", "pattern": "이룸성형외과|seoulips" },
{ "label": "TS성형외과", "pattern": "TS성형외과|tsprs" },
{ "label": "태하", "pattern": "태하성형외과|taeha" },
{ "label": "JK성형외과", "pattern": "JK성형외과|jkplastic" },
{ "label": "ID병원", "pattern": "ID병원|idhospital" },
{ "label": "오라클피부과", "pattern": "오라클피부과" },
{ "label": "차앤박", "pattern": "차앤박" },
{ "label": "톡스앤필", "pattern": "톡스앤필" },
{ "label": "더스완성형외과", "pattern": "더스완|sswan" },
{ "label": "실측 고유값", "pattern": "프리저베|19,316|19,373" }
],
"secrets": [
{ "label": "Google API 키(AIza)", "pattern": "AIza[0-9A-Za-z_\\-]{35}" },
{ "label": "Google API 키(AQ.)", "pattern": "AQ\\.[0-9A-Za-z_\\-]{20,}" },
{ "label": "Supabase 프로젝트 주소", "pattern": "[a-z0-9]{20}\\.supabase\\.co" },
{ "label": "JWT(Supabase 키 등)", "pattern": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\\.[A-Za-z0-9_\\-]{10,}" }
],
"paths": [
{ "label": "실제 병원 리포트 파일", "pattern": "^reports/" },
{ "label": "병원 채널 스크린샷", "pattern": "^assets/clients/" }
]
}