바이브 코딩으로 개발한 사이트의 개인정보 수집, 동의만 받으면 끝난것이 아닙니다.
개인정보가 무었인지 명확히 알고 이를 관리해야 피해를 보지 않습니다.
"아무것도 몰라도 바이브 코딩으로 홈페이지 외주를 만들어 돈을 벌었다."
이런 영상, 한 번쯤 보셨을 겁니다. 실제로 가능합니다. AI에게 말로 시키면 그럴듯한 홈페이지가 나오고, 그걸 가게나 업체에 만들어 주고 돈을 받습니다.
그런데 그 영상들과 강의가 거의 알려주지 않는 게 하나 있습니다.
바로 폼·설문으로 모은 개인정보를, 그 뒤에 어떻게 관리하느냐입니다.
동의받는 법, 개인정보 처리방침 만드는 법까지는 가르치는 곳이 있습니다. 하지만 모은 데이터가 보통 구글 스프레드시트에 쌓이고, 엑셀로 다운받아 노트북에 굴러다니는데 — 그게 새면 무슨 일이 나는지, 책임은 누가 지는지까지 짚어주는 자료는 거의 없습니다.
결론부터 말씀드리겠습니다.
폼으로 이름·연락처만 받아도 그건 개인정보입니다. 모으는 것보다 모은 다음의 관리가 진짜 중요합니다. 그리고 외주로 남의 고객 정보를 다루면, 법적 책임은 당신에게도 옵니다.
제가 이 글을 쓰는 이유를 잠깐 말씀드리겠습니다.
저는 오랫동안 개발자로 일했고, 한동안 조직의 보안 관리 책임자 역할도 맡았습니다. 그 눈으로 "바이브 코딩으로 외주 홈페이지 만들어 돈 벌었다"는 영상들을 보면, 한 가지가 계속 마음에 걸립니다.
돈 버는 방법은 알려주지만, 정작 문제가 될 수 있는 부분은 알려주지 않는다는 점입니다.
그리고 이 부분은 코드 실력의 문제가 아니라 '관리'의 영역입니다. 다시 말해, 바이브 코딩을 아무리 잘해도 도구가 대신 해결해 주지 않습니다. 사람이 직접 챙겨야 하는 일입니다. 많은 분들이 이걸 알았으면 해서 정리합니다.
먼저, 당신이 다루는 게 "개인정보"라는 사실부터
많은 초급 개발자가 여기서 방심합니다. "그냥 명단인데 뭐."
하지만 이름·전화번호·이메일·주소처럼 한 사람을 알아볼 수 있는 정보는 전부 개인정보입니다. 설문 응답도 이름이나 연락처가 붙으면 개인정보입니다.
즉, 단순한 명단이 아니라 법이 보호하는 정보를 당신이 손에 쥐고 있는 것입니다. 이 사실 하나만 받아들여도 절반은 해결됩니다.
모은 개인정보는 보통 이 경로로 흐릅니다 (그리고 여기서 샙니다)
초급 개발자가 만든 홈페이지에서 개인정보는 대개 이렇게 움직입니다.
폼·설문 → 구글 스프레드시트에 자동 저장 → 엑셀로 다운로드 → 내 노트북·이메일·카톡·USB
문제는 이 경로의 모든 단계가 새는 지점이라는 겁니다.
- 구글 스프레드시트: 공유 설정이 "링크가 있는 모든 사용자"로 돼 있으면, 주소만 아는 사람은 누구나 명단을 통째로 봅니다.
- 다운로드한 엑셀 파일: 다운로드 폴더에 그대로 방치되거나, 클라우드(구글 드라이브·아이클라우드)에 자동 동기화되거나, 카톡·메일로 전송되거나, USB째 분실됩니다.
- 외주의 경우: 작업이 끝났는데도 고객의 고객 명단이 내 노트북에 그대로 남아 있습니다.
데이터가 "잠기지 않은 서랍"을 여러 개 거치는 셈입니다.
실제로 어떤 사고가 날까요? (남 일이 아닙니다)
추상적인 이야기가 아닙니다.
공개로 설정된 저장소에서 명단이 통째로 빠져나가는 사고는 바이브 코딩 앱들에서 계속 반복됐습니다. AI 앱 빌더로 만든 앱 170개 이상에서 접근 제한이 빠진 채 데이터가 노출돼 공식 취약점 번호(CVE-2025-48757)까지 붙은 사례가 있고, 신분증 사진을 받던 한 앱은 저장소가 공개로 열려 약 7만 장의 이미지가 외부에 그대로 풀린 일도 있었습니다.
규모만 다를 뿐 구조는 똑같습니다. "접근이 잠겨 있지 않은 곳에 개인정보를 둔 것."
여기에 초급 개발자에게만 더 흔한 사고가 더해집니다.
- 다운받은 엑셀이 든 노트북을 잃어버리거나 악성코드에 감염돼 파일째 새는 경우
- 외주 개발자가 받은 고객 데이터를 다른 일에 쓰거나 방치해 분쟁이 되는 경우
그리고 한번 새면, 그 명단은 피해자에게 보이스피싱·스팸 문자로 곧장 이어집니다.
법적 책임: "나는 그냥 만들어줬을 뿐"은 안 통합니다
초급 개발자가 가장 잘 모르는 부분입니다.
개인정보보호법은 개인정보를 모은 사람에게 안전하게 관리할 의무를 지웁니다. 외주의 경우는 조금 더 복잡합니다.
가게·업체가 개인정보를 모으는 주체(위탁자)이고, 그 데이터를 대신 다루는 개발자는 수탁자가 됩니다. 그런데 수탁자에게도 분명한 의무가 있습니다.
- 위탁받은 범위를 넘어 개인정보를 이용하거나 다른 곳에 제공할 수 없습니다.
- 위탁자의 동의 없이 다른 사람에게 다시 맡길 수 없습니다.
- 위반으로 손해가 생기면, 손해배상 책임에서 수탁자를 개인정보처리자의 소속 직원처럼 봅니다.
쉽게 말해, 외주로 남의 고객 정보를 다운받아 내 노트북에서 다루는 순간, 당신도 법적 책임의 당사자가 됩니다. "나는 홈페이지만 만들었을 뿐"이라는 말은 통하지 않습니다.
유출 같은 사고가 나면 제재도 따릅니다. 안전 조치를 소홀히 해 개인정보가 새면 과태료(최대 3천만 원 수준)나 매출액 기반의 과징금 대상이 될 수 있습니다.
한 가지 덧붙이고 싶습니다. 이건 홈페이지를 만드는 개발자만의 이야기가 아닙니다. 많은 개인사업자들도 고객 명단을 비슷한 방식으로 — 공유가 열린 스프레드시트나 노트북 속 엑셀로 — 관리하고 있습니다.
개인사업자가 개인정보 유출로 크게 처벌받았다는 소식이 아직 흔치 않다 보니 "나는 괜찮겠지" 하고 넘기기 쉽습니다. 하지만 단속이 드물다는 것과 안전하다는 것은 전혀 다른 이야기입니다. 책임의 근거는 이미 법에 있고, 보안이 취약한 경우가 많아 — 어쩌면 보유한 자료가 이미 어딘가로 새어 나갔는데 모르고 있을 수도 있습니다. 그래서 더 많은 분들이 미리 챙겼으면 합니다.
이 부분은 일반적인 안내이며 법률 자문이 아닙니다. 구체적인 사안은 개인정보보호위원회(privacy.go.kr)나 전문가의 확인을 받으시기 바랍니다.
그래서 어떻게 관리해야 하나요 (초급도 바로 할 수 있는 7가지)
법이 요구하는 핵심은 "꼭 필요한 사람만, 꼭 필요한 만큼, 안전하게, 다 쓰면 지운다"입니다. 초급 개발자가 오늘 바로 할 수 있게 풀면 이렇습니다.
1. 접근부터 잠그세요. 구글 스프레드시트 공유 설정을 "링크가 있는 모든 사용자"가 아니라 "특정 사람만"으로 바꾸세요. 내 계정과 꼭 필요한 담당자만 보게 합니다. 이것 하나로 가장 흔한 사고를 막습니다.
2. 꼭 필요한 것만 받으세요. 연락만 하면 되는데 생년월일·주소·주민등록번호까지 받지 마세요. 많이 받을수록 새면 피해가 커지고 법에도 어긋납니다. 특히 주민등록번호는 법적 근거가 없으면 받으면 안 됩니다.
3. 다운로드는 최소로, 파일엔 암호를 거세요. 엑셀은 꼭 필요할 때만 다운받고, 받은 파일에는 열기 암호를 거세요. 다운로드 폴더에 그냥 두지 말고, 일이 끝나면 삭제하세요.
4. 굳이 다 필요 없으면 가리세요. 분석에 연락처가 필요 없다면 그 열을 빼거나 일부를 가린(예: 010-****-1234) 사본으로 작업하세요.
5. 전송을 조심하세요. 명단 파일을 카톡이나 일반 메일로 아무렇게나 보내지 마세요. 꼭 보내야 한다면 암호를 건 파일로 보내고, 암호는 다른 경로로 알려주세요.
6. 다 쓰면 파기하세요. 목적이 끝난 데이터와 파일은 지체 없이 지우세요. 휴지통과 클라우드 동기화 폴더까지 비워야 진짜 삭제입니다.
7. 외주라면 경계를 분명히 하세요. 작업이 끝나면 데이터는 고객에게 넘기고, 내 노트북·드라이브에서 삭제하세요. 계약서에 "개인정보를 어디까지 다루는지"를 적어두면 책임 범위가 명확해집니다. 고객 명단을 내 기기에 남겨두지 마세요.
납품·배포 전 5분 체크리스트
https://로 시작하는가자주 묻는 질문 (FAQ)
이름·연락처만 받는데 이것도 개인정보인가요?
네. 한 사람을 알아볼 수 있는 정보는 전부 개인정보입니다. 이름과 연락처만으로도 충분히 해당합니다.
동의받고 처리방침까지 만들었으면 끝 아닌가요?
아닙니다. 그건 시작입니다. 모은 뒤에 안전하게 관리하고, 다 쓰면 파기하는 의무가 따로 있습니다. 이 글이 다루는 부분이 바로 그것입니다.
구글 스프레드시트에 그냥 둬도 되나요?
공유 설정이 "특정 사람만"으로 잠겨 있다면 출발점으로는 괜찮습니다. 하지만 "링크가 있는 모든 사용자"로 열려 있으면 사실상 누구나 볼 수 있는 상태이니 즉시 바꾸세요.
엑셀로 받아 노트북에 두는 게 왜 위험한가요?
분실·해킹·자동 동기화·잘못된 전송으로 새기 쉽기 때문입니다. 꼭 받아야 하면 파일에 암호를 걸고, 일이 끝나면 삭제하세요.
외주인데 사고가 나면 누구 책임인가요?
데이터를 모은 업체(위탁자)와, 그 데이터를 다룬 개발자(수탁자) 모두 책임에서 자유롭지 않습니다. "만들어주기만 했다"는 이유로 책임이 사라지지 않습니다.
개인정보가 유출된 것 같으면 어떻게 하나요?
먼저 공개·접근을 즉시 차단하고, 어디서 새어 나갔는지 점검하세요. 그다음 피해자에게 알리고 개인정보침해 신고(118)나 개인정보보호위원회(privacy.go.kr)에 신고·상담하세요.
로그인·회원 기능까지 만든다면? (한 걸음 더)
여기까지는 "폼으로 받은 개인정보 관리"에 대한 이야기였습니다.
만약 회원가입·로그인·결제처럼 더 본격적인 기능을 붙인다면, API 키 관리·데이터베이스 접근 권한·비밀번호 저장 같은 추가 보안이 필요합니다. 이 내용은 추후 포스팅하는 자료를 참고해 주시면 감사드리겠습니다.
결론
바이브 코딩으로 홈페이지를 만들어 돈을 버는 건 분명 가능합니다.
하지만 폼으로 개인정보를 받는 순간, 당신은 단순한 제작자가 아니라 남의 정보를 책임지는 사람이 됩니다.
기억할 건 단순합니다. 잠그고, 적게 받고, 암호 걸고, 다 쓰면 지운다. 그리고 외주라면 내 기기에 고객 명단을 남기지 않는다.
납품 버튼을 누르기 전, 위 체크리스트만 한 번 돌려보세요. 그 5분이 "고객 명단이 통째로 새는 사고"와 멀쩡한 결과물의 차이를 만듭니다.
보안 관리 일을 오래 해 오며 가장 절실히 느낀 건, 사고는 화려한 기능이 아니라 아무도 책임지지 않고 방치된 명단 한 장에서 시작한다는 것입니다. 그리고 그 부분은 바이브 코딩이 대신 해결해 주지 않습니다. 결국 사람이 챙겨야 합니다. 이 글이 그 5분을 챙기는 계기가 되면 좋겠습니다.
글쓴이. 25년간 국내 굴지의 솔루션 업체부터 서비스 업체, 핀테크 업체등에서 개발자로 일하며 조직의 보안 관리 책임자 역할을 맡아 왔습니다. 바이브 코딩으로 누구나 서비스를 만드는 시대에, 정작 '관리'의 영역에서 생기는 사고를 줄이고 싶어 이 글을 정리했습니다.
참고 출처
- 개인정보 보호법 제26조 (업무위탁에 따른 개인정보의 처리 제한) — 수탁자의 이용 범위 제한·재위탁 동의·손해배상 책임(소속 직원 의제)
- 개인정보의 안전성 확보조치 기준 (개인정보보호위원회 고시) — 접근권한 관리·접근통제·암호화 등 안전조치 의무
- 개인정보의 안전성 확보조치 기준 안내서 (2024.10, 개인정보보호위원회) — 관리적·기술적·물리적 조치, 유출 시 과징금·과태료
- 개인정보의 수집·이용 (찾기쉬운 생활법령정보) — 최소 수집·동의 고지사항
- 개인정보 보호법 안내 (개인정보보호위원회) — 최소수집·14세 미만 법정대리인 동의·유출 신고
- Wiz Research — 바이브 코딩 앱 보안 위험 — 공개 저장소·접근정책 누락으로 인한 데이터 노출 패턴
- 바이브 코딩 앱 데이터 노출 사례 정리 — 공개 저장소 7만 장 노출 등 실제 사고