PROOF
사진을 올리지 않는다는 걸 확인하는 법
말로만 약속하지 않고, 누구나 직접 해 볼 수 있게 적었어요.
반듯 사이트에는 서버 코드가 없어요. Cloudflare가 화면 파일(HTML·JS·CSS)과 얼굴 찾기·배경 나누기 모델 파일을 내려주기만 해요. 사진을 받을 주소 자체가 없어요.
01 비행기 모드로 해 보기 — 가장 쉬워요
- 반듯에서 사진을 한 장 끝까지 만들어요(처음 한 번은 화면 파일과 모델을 이 사이트에서 받아요).
- 휴대폰을 비행기 모드로 바꾸거나 와이파이를 꺼요.
- 반듯을 다시 열고 다른 사진으로 만들어 봐요. 얼굴 찾기·검사·저장·인화지가 그대로 돼요.
인터넷이 끊긴 상태에서도 되니까, 사진을 어딘가로 보내야 하는 구조가 아니라는 뜻이에요. (배경 바꾸기를 처음 쓸 때는 모델을 한 번 받아야 해서 인터넷이 필요해요.)
02 개발자 도구 네트워크 탭 보기 — PC
- PC 브라우저에서 반듯을 열고 개발자 도구(F12, Mac은 ⌥⌘I)의 Network(네트워크) 탭을 열어요.
- 사진을 골라 저장까지 해 봐요.
- 요청 목록을 보면 모두
bandeut.pages.dev의 파일을 받는(GET) 요청이에요. 사진을 실어 보내는 요청(POST·PUT)이나 다른 사이트로 가는 요청이 없어요.
반듯을 만들 때도 헤드리스 Chrome으로 사진 한 장을 처음부터 저장까지 만들면서 모든 요청을 기록해, 같은 사이트의 GET 요청만 있는지 검사해요.
03 보안 헤더(CSP) 보기
네트워크 탭에서 첫 문서 요청을 눌러 응답 헤더의 Content-Security-Policy를 보면 이렇게 적혀 있어요.
connect-src 'self' blob:
script-src 'self' 'wasm-unsafe-eval'
form-action 'none'
connect-src 'self': 화면 코드가 데이터를 주고받을 수 있는 곳은 이 사이트뿐이에요. 다른 사이트로 보내려 하면 브라우저가 막아요.script-src 'self': 이 사이트의 스크립트만 실행돼요. 광고·분석 스크립트가 없어요.form-action 'none': 어디로도 양식을 보낼 수 없어요.
그리고 이 사이트(같은 출처)에는 받는 코드가 없어요. 그래서 사진이 나갈 길이 없어요.
Cloudflare는 기본으로 접속 오류 보고(NEL — 접속 오류가 나면 브라우저가 Cloudflare로 오류 정보를 따로 보내는 기능, 네트워크 탭에는 보이지 않아요)를 켜는 헤더를 붙여요. 반듯은 이를 끄는 헤더를 보내서 꺼 두었어요. 같은 응답 헤더에서 nel: {"max_age":0}을 볼 수 있어요.