샘플 보고서 · 예시로 만든 데모 앱
성능·보안 점검·수정 샘플 보고서 — 예시로 만든 예약 앱
먼저 알려 드립니다. 이 보고서는 바이트크레오가 시험용으로 직접 만든 예시 앱을 점검하고 고친 기록입니다. 실제 회사·가게·손님의 일이 아니며, 화면 속 이름과 연락처는 모두 지어낸 것입니다. AI 도구로 급하게 만든 앱에서 흔히 보이는 실수를 일부러 넣어 두었습니다. 인터넷에 올리지 않고 저희 컴퓨터 안에서만 했습니다.
작성 2026-10-26 · 바이트크레오(bytecreo)
한눈에
- 휴대폰에서 첫 화면 사진이 뜨기까지 26초 걸리던 것을 2초대로 줄였습니다. 느린 휴대폰 통신을 흉내 낸 조건에서 잰 값입니다. 손님이 하얀 화면을 보다 나가 버리는 일이 줄어듭니다.
- 누구나 들여다볼 수 있던 손님 600명의 이름·전화번호·메모를 이제 가게 관리자만 봅니다.
- 로그인 없이 예약을 지울 수 있던 길, 같은 시간에 두 손님이 잡히던 문제도 막았습니다.
어떤 앱인가
동네 미용실의 예약·문의 앱(예시)입니다. 손님은 휴대폰으로 빈 시간을 골라 이름과 연락처를 남기고, 사장님은 관리 화면에서 예약을 확정하거나 취소합니다. AI 도구로 하루 만에 만든 앱을 흉내 냈습니다.
무료 점검 도구로 먼저 봤더니
누구나 쓸 수 있는 무료 도구 세 가지로 먼저 봤습니다. 손님 기록을 담는 곳(데이터베이스)을 파는 업체가 주는 점검, 구글의 속도 측정, 프로그램 부품 점검입니다.
- 알려 준 것: 손님 정보 칸에 잠금이 꺼져 있다는 것, 첫 화면 사진이 너무 크다는 것. 일부러 넣은 실수 여덟 가지 중 두 가지입니다.
- 데이터베이스 점검은 저희 컴퓨터에서 설정 그대로 돌리면 아무 경고도 내지 않았습니다. 실제 서비스와 같게 설정을 하나 맞춘 뒤에야 경고가 나왔습니다. 점검을 돌려 보고 괜찮다고 믿기 쉬운 자리입니다.
놓친 것
- 가게 관리자만 써야 할 만능 열쇠가 손님 휴대폰으로 내려가는 홈페이지 파일 안에 들어 있었습니다.
- 로그인하지 않아도 예약 목록을 보고, 바꾸고, 지울 수 있는 뒷문이 있었습니다.
- 관리 화면 비밀번호가 홈페이지 파일 안에 그대로 적혀 있었습니다.
- 예약 화면을 열 때마다 손님 전체의 이름·전화번호를 함께 내려받고 있었습니다.
- 한 번 만든 화면을 저장해 두고 다시 쓰는 장치가 꺼져 있어, 방문할 때마다 처음부터 다시 만들었습니다.
사람이 직접 불러 보며 더 찾은 것
- 예약이 쌓여 일정 수를 넘자 화면이 앞쪽 예약만 읽었습니다. 그래서 다음 주 이미 찬 시간이 전부 빈 시간으로 보였습니다. 그대로 두면 같은 시간에 두 손님이 잡힙니다.
- 손님 정보는 보기만 되는 게 아니라 밖에서 고치는 것까지 됐습니다.
- 화면에는 확정되면 문자로 알려 드린다고 적혀 있었지만, 문자를 보내는 기능은 없었습니다.
솔직하게 말씀드리면
요즘은 AI에게 코드를 보여 주면 이런 문제를 대부분 찾아 줍니다. 저희도 같은 코드를 넣어 둔 실수를 알려 주지 않고 다른 AI에게 보여 줬더니, 일부러 넣은 실수를 모두 찾았고 저희가 놓친 것(어두운 화면 모드에서 글자가 잘 안 보임)까지 찾았습니다. 다만 그 AI는 정말 열려 있는지 실제로 불러 보지는 않았고, 크고 작은 항목 서른 개 남짓을 한꺼번에 내놓았습니다.
저희가 하는 일은 그다음입니다. 먼저 고칠 것을 고르고, 고친 뒤에도 예약·문의·관리 화면이 그대로 돌게 하고, 고친 것이 정말 막혔는지 하나하나 다시 불러 확인해 전후를 남깁니다.
고친 것
| 문제 | 그대로 두면 생길 수 있던 일 | 고친 뒤 다시 확인한 결과 |
|---|
| 손님 정보 칸에 잠금이 없음 | 누가 손님 명단을 통째로 가져가거나 고칠 수 있음 | 밖에서 열거나 고치려 하면 거절됨 |
| 만능 열쇠가 홈페이지 파일 안에 | 그 열쇠로 모든 기록을 지울 수 있음 | 홈페이지 파일에서 열쇠가 사라짐. 열쇠는 손님 눈에 닿지 않는 가게 쪽에만 둠 |
| 로그인 없이 예약 관리 | 아무나 예약을 취소하거나 지울 수 있음 | 로그인하지 않으면 거절. 직원 계정이라도 관리 권한이 없으면 거절 |
| 관리 화면 비밀번호가 파일 안에 | 아무나 관리 화면에 들어올 수 있음 | 이메일과 비밀번호로 들어가는 진짜 로그인으로 바꿈 |
| 이미 찬 시간이 빈 시간으로 보임 | 같은 시간에 두 손님 | 찬 시간이 실제와 같게 보임. 두 사람이 같은 시간을 동시에 고르면 두 번째 분께 다른 시간을 고르라고 안내 |
| 첫 화면 사진이 너무 큼 | 휴대폰에서 한참 하얀 화면 | 휴대폰 크기에 맞게 줄이고 가장 먼저 받게 함 |
| 방문할 때마다 처음부터 다시 만듦 | 손님이 몰리면 느려지고 서버 비용이 늘어남 | 바뀌지 않는 화면은 미리 만들어 두고, 예약 현황은 잠깐 저장해 두었다가 새 예약이 들어오면 바로 새로 고침 |
| 예약 화면이 손님 전체 정보를 받음 | 화면을 연 사람 누구나 다른 손님 정보를 볼 수 있음 | 다음 주의 찬 시간만 받음. 이름·연락처는 오가지 않음 |
고친 뒤 실제 브라우저로 예약하기, 같은 시간 두 번 예약해 보기, 문의 보내기, 관리자 로그인까지 다시 해 봤고 모두 제대로 돌았습니다.
아직 남은 것
- 펌처럼 오래 걸리는 메뉴는 다음 시간까지 막는 규칙. 가게마다 규칙이 달라 사장님과 정해야 합니다.
- 자동 프로그램이 문의를 도배하지 못하게 막는 장치.
- 개인정보 안내의 실제 문구와, 보관 기간이 지나면 자동으로 지우기. 지금은 예시 문구 한 줄만 있습니다.
- 관리자 로그인이 오래되면 다시 로그인해야 하는 점.
이렇게 확인했습니다
- 저희 컴퓨터 안에서만, 지어낸 예시 데이터로 했습니다. 인터넷에 공개하거나 다른 서비스에 접속하지 않았습니다.
- 고치기 전과 후를 같은 방법으로 쟀습니다. 휴대폰 화면을 흉내 내 세 번 재서 가운데 값을 적었고, 밖에서 손님 정보와 관리 기능을 직접 불러 보았고, 무료 점검 도구를 다시 돌렸습니다.
- 실험실 수치라 실제 손님의 기기·통신 환경과는 차이가 있습니다. 사진도 실제 사진이 아니라 만든 그림이라 실제보다 가볍게 나왔을 수 있습니다.
- 해킹을 시도하는 시험은 하지 않았고, 이것만으로 앞으로 문제가 없다고 약속드리지는 않습니다. 고친 항목과 다시 확인한 결과만 적었습니다.
손님 서비스도 같은 순서로 합니다
어디까지 볼지 정하고 서면으로 동의를 받습니다. 확인하고, 먼저 고칠 것을 골라 고치고, 같은 방법으로 다시 확인해 전후를 보여 드립니다. 실제 손님 개인정보는 받지 않고 테스트 환경에서 봅니다. 첫 세 곳은 결과를 사례로 공개하는 조건으로 점검이 무료입니다.