신뢰 센터
보안 페이지의 기술적인 세부 사항이에요. IT팀, 개발자, 실사를 진행하는 분을 위한 내용이에요. 따로 언급하지 않는 한 여기 있는 모든 항목은 현재 적용돼 있어요.
최종 업데이트: 2026년 10월 12일
호스팅과 데이터 위치
- 서버: 영국 런던에 있어요. API, AI 커넥터, 대시보드, 공개 사이트 제공을 담당하고 계정 데이터베이스를 보관해요.
- 사이트 파일: EU의 내구성 있는 오브젝트 스토리지에 보관해요. 이 스토리지가 원본 저장소이고, 런던 서버에는 캐시만 있어요.
- 데이터베이스 백업: 같은 EU 스토리지의 별도 버킷에 별도의 키로 보관해요.
- 엣지: 전 세계 네트워크가 공개 페이지를 방문자와 가까운 곳에서 제공하고 캐시해요.
- 영국/EU 외부: 로그인, 결제, 이메일 서비스는 일부 데이터를 미국에서 처리해요. 해당 회사들은 하위 처리자 페이지에 나와 있어요.
네트워크와 전송
pagelemon.com와pagelemon.dev의 모든 호스트 이름은 DDoS 방어와 엣지에서의 TLS를 제공하는 글로벌 엣지 네트워크를 거쳐 제공돼요. 일반 HTTP는 HTTPS로 리디렉션돼요.- 오리진 잠금: 저희 서버는 엣지 네트워크가 공개한 IP 대역이 아닌 곳에서 오는 웹 요청을 차단해서, 우회해 오리진에 직접 접근할 수 없어요.
- 엣지 네트워크에서 저희 서버까지의 구간도 오리진 인증서로 암호화돼요.
pagelemon.com와 앱, API, 커넥터 호스트에 HSTS(6개월, 하위 도메인 포함) 적용..dev는 HSTS 사전 로드된 최상위 도메인이라, 브라우저는 사용자 사이트에 항상 HTTPS로만 접속해요.
사이트 격리와 헤더
- 별도의 등록 가능 도메인. 사용자 사이트는
*.pagelemon.dev에서 제공되고, 계정, 대시보드, API는pagelemon.com에 있어요. 사용자 사이트의 쿠키와 저장소는 계정 세션에 절대 닿을 수 없어요. - 마케팅 사이트에 엄격한 Content Security Policy(스크립트는 자체 오리진에서만, 프레임 삽입 금지), 대시보드에는
X-Frame-Options: DENY. - 사용자 사이트는
X-Content-Type-Options: nosniff, 엄격한 리퍼러 정책,Cross-Origin-Opener-Policy: same-origin-allow-popups와 함께 전송돼요. 스크립트, 추적기, 쿠키를 삽입하지 않으며, 무료 요금제 배지는 일반 HTML과 CSS예요. - 비밀번호 보호 사이트와 회원 전용 사이트는 공유 캐시에 저장되지 않고(
Cache-Control: private, no-store) 검색 색인에도 오르지 않아요. - 악용으로 사이트가 내려가면
Clear-Site-Data와 함께 제공되어, 방문자의 브라우저가 캐시, 저장소, 서비스 워커를 지워요. - 사이트 비밀번호는 scrypt로 해시돼요(사이트마다 무작위 솔트). 방문자의 잠금 해제 쿠키는 HMAC 서명되고
HttpOnly,Secure가 적용되며, 비밀번호를 바꾸면 이전 쿠키가 모두 무효가 돼요. 잠금 해제 실패 시도에는 빈도 제한이 있어요.
서버 보안 강화
- SSH는 지정된 개인 키로만 가능해요. 비밀번호 로그인과 root 로그인은 꺼져 있어요. 호스트 방화벽은 SSH와 웹 트래픽만 허용해요.
- 각 서비스는 자체 컨테이너에서 root가 아닌 사용자로 실행되며, 읽기 전용 파일 시스템, 모든 Linux capability 제거, 권한 상승 차단, 개별 메모리·프로세스 한도가 적용돼요. 그래서 한 곳의 문제가 나머지를 마비시키지 않아요.
- 비밀 정보는 서비스별로 분리돼요. 애플리케이션은 백업 키를 볼 수 없고, 백업 작업은 로그인, 결제, 이메일 키를 볼 수 없어요.
- 저장소 키는 버킷 하나로 범위가 제한되고 저희 서버의 IP 주소에 고정돼요. 이메일 키는 발송만 할 수 있어요.
- 모든 릴리스는 출시 전에 자동 테스트를 거쳐요. 릴리스 이미지는 서버 밖에서 빌드되고, 명령 하나로 롤백할 수 있도록 이전 이미지를 보관해요.
- 관리 도구에서 직원이 한 작업은 감사 로그에 기록되고, 민감한 작업에는 최근 10분 이내의 로그인이 필요해요.
백업, 버전, 복구
- 지속적인 데이터베이스 백업: 변경 사항이 몇 초 안에 EU 스토리지로 전송되며, 특정 시점으로 복원할 수 있어요.
- 복원 테스트: 복원 훈련에서 백업으로 데이터베이스를 다시 만들고 무결성 검사를 실행해요. 마지막 실행: 2026년 10월 12일, 통과.
- 삭제 잠금: 최근 사이트 파일과 데이터베이스 백업에는 버킷 잠금이 걸려 있어, 저희 서버의 키로도 삭제할 수 없어요.
- 변경할 수 없는 버전: 게시할 때마다 수정할 수 없는 새 버전이 만들어져요. 공개 전환은 가리키는 버전만 바꾸는 방식이고, 되돌리기는 호출 한 번이면 돼요. 모든 버전을 30일간 보관하고 그 이후에는 매주 마지막 버전만 남겨요. 보관 기간은 요금제에 따라 7일(Free)부터 최대 2년(Company)까지예요.
- 편집 손실 없음: 게시할 때마다 시작한 버전을 명시해요. 그사이 다른 사람이 게시했다면, 상대의 작업을 덮어쓰는 대신 명확한 충돌 오류로 거부돼요.
- 오래된 사본 제공: 오리진이 다운되거나 오류가 나면 공개된 파일을 엣지 캐시에서 최대 7일간 제공할 수 있어요. 비공개 사이트는 캐시하지 않아요.
- 모니터링: 별도 서버의 외부 점검이 5분마다 API, 대시보드, 커넥터를 테스트하고, 실패하면 이메일로 알려요. 애플리케이션은 저장된 파일이 없어지면 알려요.
로그인과 계정 보안
계정 로그인은 전문 로그인 서비스가 처리해요. 현재:
- 로그인 방법: 이메일 일회용 코드, Google, 또는 비밀번호. 이메일 주소는 코드로 확인해요.
- 비밀번호: 15자 이상, 가입할 때와 로그인할 때 알려진 유출 비밀번호와 대조해요.
- 로그인 실패가 반복되면 계정 잠금.
- 저희는 서명된 세션 토큰만 받고, 요청마다 저희 도메인 기준으로 검증해요. 계정 비밀번호는 절대 보거나 저장하지 않아요.
회원 전용 사이트는 app.pagelemon.com에서 방문자를 이메일 주소로 로그인시킨 뒤, 사이트가 자체 쿠키를 만들 수 있도록 일회용 코드를 전달합니다. 사이트 자체에서는 로그인 스크립트가 실행되지 않습니다. 카드 결제는 당사의 결제 처리업체가 처리하며, 카드 번호는 당사 서버에 전달되지 않습니다.
AI 연결과 API 토큰
- AI 앱은 PKCE(S256)와 리소스 지시자를 쓰는 OAuth로 연결돼요. 액세스 토큰은 1시간 유효하고, 리프레시 토큰은 쓸 때마다 교체되며, 30일간 쓰지 않으면 연결이 끝나고, 이전 코드나 리프레시 토큰을 재사용하면 연결 전체가 폐기돼요.
- API 토큰과 사이트 토큰은 SHA-256 해시로만 저장돼요. 각 토큰에는 범위(
deploy또는deploy+manage)가 있고, 사이트 하나로 제한하거나, 만료일을 정하거나, 언제든 폐기할 수 있어요. - 사람의 승인: 사람 초대, 사이트 비밀번호 제거, 사이트 이름 변경과 이전은 계정 소유자가 로그인한 상태로 열어 확인해야 하는 승인 링크를 돌려줘요. 토큰만으로는 할 수 없어요. 되돌릴 수 없는 작업은 두 단계로 진행돼요.
- 새 토큰이나 AI 연결이 추가되면 계정 소유자의 앱 알림에 안내가 표시되고, 보통 이메일로도 전달돼요.
업로드 검사
- 유출 방지: 모든 텍스트 파일에서 잘 알려진 종류의 비밀 키와 개인 키를 검사해요. 발견되면 업로드 전체가 차단되고 파일과 줄 번호를 알려 줘요.
- 버전 관리 폴더, 환경 파일, 의존성 폴더, 소스 맵, 키 파일은 건너뛰고 절대 제공하지 않아요.
- 압축 파일은 해제하는 동안 용량과 파일 수 상한을 두고 풀어요. 링크, 장치 파일, 절대 경로,
..경로는 거부돼요. - 익명 사이트와 무료 사이트는 웹 파일만 받고 내용으로 검사해요. 프로그램, 설치 파일, 스크립트는 안 되고, 바이너리 파일은 실제로 이미지, 글꼴, 오디오, 동영상, PDF, WebAssembly여야 해요.
- 계정 없는 업로드는 네트워크별로 제한돼요.
피싱과 악용
- 직접 고른 사이트 이름이 예약어이거나, 고위험 브랜드(은행, 결제, 택배, 암호화폐, 정부, 빅테크)를 비슷한 철자까지 포함해 흉내 내거나, 흔한 피싱 단어를 담고 있으면 거부돼요. 이런 브랜드를 흉내 낸 내 도메인도 거부돼요.
- 등록되지 않은 사이트는 72시간 후 만료되고 비밀번호로 보호할 수 없어서, 검토를 피해 숨을 수 없어요. 등록되지 않은 사이트와 7일이 안 된 사이트는
noindex를 보내요. - 누구나 pagelemon.com/report에서 모든 사이트를 신고할 수 있어요(모든 사이트는 /_pagelemon/report와 security.txt에서도 이곳으로 연결돼요). 신고는 직원에게 전달되며, 직원은 사이트를 즉시 중단하고 계정을 차단할 수 있어요. 직원의 모든 조치는 기록으로 남아요.
- 페이지에서 비밀번호 입력란이 사이트 플러그인 옆에 있으면, 플러그인이 경고하고 꺼질 수 있어요.
이메일 인증
*.pagelemon.dev: null MX,v=spf1 -all, DMARCp=reject. 그래서 어떤 사용자 사이트 주소도 메일을 받거나 사칭에 쓰일 수 없어요.- 사이트를 대신해 보내는 메일은
pagelemon.dev에서 DKIM 서명과 함께 엄격한 DMARC(p=reject, 엄격한 정렬)로 발송돼요. 저희 메일은pagelemon.com에서 DKIM 서명과 DMARCp=reject로 발송되므로, 저희 주소를 사칭한 메일은 거부돼요. - 사이트 메일과 저희 메일은 다른 도메인을 써서, 악용된 사이트의 스팸이 로그인·결제 이메일 전달에 영향을 주지 않아요.
로그와 데이터 보관
- 앱, API, 게시된 사이트의 접속 로그에는 일부가 가려진 IP 주소가 저장되며, 인증 헤더, 쿠키, 쿼리 문자열, 비밀 링크 토큰은 제거됩니다. 당사 마케팅 사이트의 로그에는 쿼리 문자열 중 어떤 링크로 방문하셨는지 알려 주는
ref,invite,utm_부분만 보관됩니다. 모든 로그는 30일 이내에 충분히 순환되어 삭제됩니다. - 계정 없이 게시한 사이트의 업로더 IP 주소는 30일 후 삭제돼요.
- 삭제된 사이트의 파일은 7일 후 제거돼요. 어떤 사이트든 zip으로 다운로드할 수 있고, 계정도 직접 삭제할 수 있어요.
인증
Page Lemon 자체는 SOC 2 인증을 받지 않았으며, 인증을 보유한 업체의 서비스를 기반으로 만들었어요. 그 인증은 해당 업체의 것이지 Page Lemon의 것이 아니에요.
저희의 호스팅, 엣지 네트워크, 로그인, 결제, 이메일 서비스는 SOC 2 Type II, ISO/IEC 27001 같은 독립적인 보안 인증을 보유한 검증된 업체가 운영하며, 결제 대행사는 PCI DSS 레벨 1이에요. 이 업체들은 Page Lemon보다 훨씬 큰 규모로 운영되므로 저희와 함께 용량도 커져요. 저희의 단계적 성장 계획은 문서로 정리되어 있고 측정된 부하에 따라 실행돼요. 데이터를 대신 처리하는 모든 회사는 하위 처리자 페이지에 나와 있어요.
아직 하지 않은 것
나중에 알게 되시는 것보다 미리 말씀드릴게요:
- Public Suffix List:
pagelemon.dev는 아직 Public Suffix List에 등록되지 않았어요. 등록되기 전까지 브라우저는 쿠키와 관련해pagelemon.dev의 이웃 사이트들을 같은 사이트로 취급해요. 계정은pagelemon.com에 있어서 영향이 없고, 등록 신청을 준비 중이에요. - Page Lemon 계정에는 아직 2단계 로그인이 제공되지 않아요.
- Page Lemon은 자체 SOC 2 또는 ISO 27001 인증이 없어요.
취약점 신고
support@pagelemon.com으로 이메일을 보내 주세요. 다른 사람의 데이터에 접근하거나, 서비스를 방해하거나, 문제가 고쳐지기 전에 세부 내용을 공개하지 말아 주세요. 이 규칙을 지킨 선의의 연구에는 법적 조치를 취하지 않으며, 원하시면 크레딧도 드려요. 연락처는 security.txt에도 있어요.
해로운 사이트를 신고하려면 사이트 신고를 이용하세요.