맞춤형 고객 포털에 포함되는 것
실제 요구 사항에 맞춰 작업 범위를 구성합니다. 제안서에는 아래 산출물 중 어떤 것이 포함되는지, 누가 필요한 자료를 제공하는지, 각 산출물을 어떻게 검수하는지가 명시됩니다.
- 요구 사항에 따른 직접 개발 vs 구매 검토
- 고객별 접근 규칙을 갖춘 멀티테넌트 데이터 모델
- 직원과 고객 사용자를 위한 로그인, 초대, 역할 설정
- 고객 대시보드, 문서, 요청, 알림
- CRM, ERP, 청구, 파일 저장소와의 연동
- 필요 시 화이트라벨 브랜딩과 고객별 도메인
- 고객 간 접근 테스트, 검증된 백업, 관리자 콘솔
맞춤형 포털을 만들 가치가 있는 경우
고객에게 주로 파일, 메시지, 작업, 청구서가 필요하다면 기성 포털 솔루션을 구매하세요. 저렴하고 빠르게 설정할 수 있는 제품도 여럿 있습니다. 고객 데이터를 엄격하게 분리해야 하거나, 청구가 자체 규칙을 따르거나, 포털이 내부 시스템을 읽고 써야 하거나, 포털 자체가 판매하는 상품의 일부라면 직접 만드는 편이 좋습니다. 포털이 곧 제품이라면 Web App, SaaS and MVP Development에서 더 넓은 범위의 개발을 다룹니다.
요구 사항에서 고객이 실제로 쓰는 포털까지
먼저 누가 로그인하는지, 각자 무엇을 보고 처리해야 하는지, 현재 그 데이터가 어떤 시스템에 있는지 정리합니다. 이 목록이 직접 개발할지 구매할지를 결정합니다. 솔루션이 맞으면 그렇게 말씀드리고 선택을 돕겠습니다. 맞지 않으면 데이터 모델, 권한 매트릭스, 주요 화면을 만들어 검토받습니다.
개발은 로그인, 테넌시, 권한부터 시작하며, 이후 모든 기능이 이에 의존하므로 기능 화면보다 먼저 테스트합니다. 그다음 대시보드, 문서, 요청, 연동을 마일스톤별로 추가하고, 소수의 실제 고객을 파일럿에 초대해 그들이 겪는 문제를 해결한 뒤 나머지 고객을 초대합니다.
고객 포털은 직접 만들어야 할까요, 구매해야 할까요?
솔루션이 업무 흐름을 충족한다면 먼저 구매하세요. 파일, 메시지, 작업, 청구서, 브랜드 로그인을 지원하는 고객 포털 소프트웨어는 저렴한 월 요금으로 널리 나와 있고 유지보수도 제공업체가 맡습니다. 맞춤형 포털은 개발 비용이 더 들고 이후 관리 담당자도 필요하므로, 솔루션이 할 수 없는 무언가로 그 값을 해야 합니다.
직접 만들 이유는 네 가지입니다. 솔루션이 표현할 수 없는 데이터 분리 규칙, 비즈니스 모델의 일부인 청구 로직, 팀이 이미 쓰는 시스템과의 연동, 그리고 포털 자체가 판매 제품의 일부인 경우입니다. 해당하는 것이 없다면 솔루션을 권해 드립니다.
| 상황 | 포털 솔루션 구매 | 맞춤형 포털 개발 |
|---|---|---|
| 고객에게 파일, 메시지, 작업, 청구서가 필요함 | 적합: 대부분의 솔루션이 지원함 | 아래 다른 항목에 해당할 때만 |
| 계약이나 규정상 고객별 데이터를 분리해야 함 | 솔루션의 테넌시, 호스팅, 내보내기 조건 확인 필요 | 적합: 데이터 모델에 분리를 설계하고 테스트함 |
| 가격이 사용량, 좌석 수 또는 협의된 계약에 따라 달라짐 | 솔루션의 청구 방식이 규칙과 맞으면 가능 | 적합: 청구 로직을 규칙에 맞게 작성함 |
| 고객 데이터가 CRM, ERP 또는 내부 데이터베이스에 있음 | 기본 연동이 있으면 가능 | 적합: 포털이 시스템을 직접 읽고 씀 |
| 포털이 고객이 비용을 지불하는 대상의 일부임 | 공용 솔루션에서는 차별화하기 어려움 | 적합: 제품과 로드맵을 직접 소유함 |
| 이번 달 안에 운영해야 하고 유지보수 예산이 없음 | 적합 | 아직은 맞지 않는 선택 |
고객별 데이터는 어떻게 분리되나요?
모든 레코드는 고객 계정에 속하며, 모든 쿼리는 서버에서 로그인한 사용자의 계정 범위로 제한됩니다. 당연하게 들리지만 포털에서 정보가 새는 곳이 바로 여기입니다. OWASP Top 10:2025는 접근 제어 취약점(Broken Access Control)을 1위로 유지했고, 테스트한 모든 애플리케이션에서 어떤 형태로든 발견했습니다. 화면에는 올바른 데이터를 보여주지만 URL을 수정하면 다른 고객의 파일이 반환되는 포털은 실패한 포털입니다.
화면보다 먼저 멀티테넌트 모델을 설계합니다. 보통은 모든 테이블에 고객 키를 둔 하나의 데이터베이스를 쓰고, 계약이나 규제 기관이 물리적 분리를 요구하면 데이터베이스를 따로 둡니다. 역할은 여러 고객을 볼 수 있는 직원과 자기 조직만 볼 수 있는 고객 사용자, 양쪽을 모두 포괄합니다.
- 기본 거부: 새 경로는 규칙으로 접근을 허용하기 전까지 아무것도 반환하지 않습니다.
- 자동화 테스트가 한 고객으로 로그인해 다른 고객의 레코드를 읽고, 변경하고, 다운로드하려고 시도합니다.
- 파일 다운로드에는 로그인한 사용자에게 묶인 단기 링크를 사용합니다.
- 직원이 고객 레코드에 접근한 내역은 감사 로그에 기록됩니다.
- 사용자를 삭제하면 해당 사용자의 세션이 즉시 종료됩니다.
에이전시와 컨설턴트를 위한 화이트라벨 리포팅 대시보드
에이전시와 컨설턴트는 각 고객이 자신의 성과(캠페인 수치, 프로젝트 진행 상황, SEO 또는 매출 지표)를 볼 수 있는 브랜드 대시보드를 필요로 하는 경우가 많습니다. 작업의 대부분은 데이터에 있습니다. 어떤 소스가 데이터를 공급하는지, 각 소스가 얼마나 자주 갱신되는지, 소스에 장애가 생기면 고객에게 무엇이 보이는지, 고객이 여러분과 같은 방식으로 읽도록 모든 수치를 어떻게 정의하는지가 핵심입니다.
각 고객은 여러분의 도메인이나 고객 전용 주소에서 대시보드를 볼 수 있습니다. 다수 고객을 위한 커스텀 호스트네임, Cloudflare 요금제에 포함된 내용, 인증 방식은 Web App, SaaS and MVP Development 페이지에서 설명합니다. 차트는 Dardo의 데이터 시각화 원칙을 따릅니다. 모든 수치에 기간과 출처를 표시하고, 빈 상태에서는 수치가 없는 이유를 알려 줍니다.
Dardo의 공개 작업물인 영토 근거 인터페이스 Shiimain은 데이터 뷰를 어떻게 설계하는지 보여주는 가장 가까운 공개 사례입니다. 뷰가 바뀌어도 장소, 기간, 출처가 계속 보입니다. 로그인이나 고객별 데이터가 없는 공개 프로토타입이며 고객 포털은 아닙니다.
포털 안에서의 청구, 온보딩, 지원
고객이 포털에서 결제한다면 카드 결제를 직접 처리하기보다 결제 대행 서비스를 사용하는 편이 좋습니다. Stripe Billing은 종량제 요금제에서 청구 금액의 0.7%를 수수료로 부과하며, 고객이 직접 결제 정보를 관리할 수 있는 Stripe 호스팅 고객 포털을 제공합니다. Dardo는 이를 고객님의 요금제와 연결해 결제 상태에 따라 접근 권한이 달라지도록 구성하고, 결제 서비스가 보내는 서명된 이벤트를 기준 데이터로 삼습니다.
고객이 포털을 실제로 사용할지는 온보딩에 달려 있습니다. 초대 이메일, 첫 로그인, 들어서자마자 유용한 정보를 보여 주는 첫 화면, 고객이 가장 자주 필요로 하는 작업까지 이어지는 짧은 동선을 설계합니다. 고객이 특정 프로젝트나 문서에 대해 직접 문의를 등록할 수 있는 지원 흐름도 갖추어, 팀이 이메일을 뒤질 필요 없이 맥락을 파악한 상태로 답변할 수 있습니다.
선택하기 전에 궁금한 점
맞춤형 고객 포털 개발 비용은 무엇에 따라 달라지나요?
역할의 수, 데이터를 얼마나 엄격하게 분리해야 하는지, CRM·ERP·결제 시스템과의 연동, 별도 대시보드의 수, 고객이 포털 안에서 결제하는지 여부에 따라 달라집니다. 기존 고객 정보와 문서를 가져오는 작업도 추가됩니다. 요구사항 검토 후 서면으로 범위를 포함한 견적을 드리며, 도구로 같은 결과를 더 저렴하게 얻을 수 있다면 그렇게 안내해 드립니다.
고객 포털을 만드는 데 얼마나 걸리나요?
연동하려는 시스템에 접근할 수 있는 시점, 정리해야 할 데이터의 양, 팀에서 권한 관련 질문에 답하는 속도에 따라 달라집니다. 먼저 로그인, 테넌시, 권한을 테스트를 마친 첫 마일스톤으로 완성하고, 이어서 기능 개발과 실제 고객 몇 곳과의 파일럿을 진행합니다. 일정은 연동 접근 권한이 확인되면 제안서에 확정해 드립니다.
고객이 Google이나 Microsoft 계정으로 로그인할 수 있나요?
네. Google 로그인은 OpenID Connect 표준을 따르며, Microsoft ID 플랫폼은 개인 Microsoft 계정과 Microsoft Entra ID의 회사 또는 학교 계정 모두에서 이를 지원합니다. Microsoft 로그인은 특정 조직의 Entra 테넌트로 제한할 수도 있어 기업 고객용 포털에 적합합니다. 두 계정이 모두 없는 고객은 이메일로 로그인할 수 있습니다.
포털을 저희 CRM이나 ERP와 연결할 수 있나요?
시스템에 API나 안정적인 내보내기 기능이 있다면 대개 가능합니다. 개발 전에 접근 권한, 호출 제한, 각 필드를 어느 시스템이 관리하는지 확인하고, 포털이 실시간 데이터를 읽을지 동기화된 사본을 사용할지 결정합니다. API가 없는 시스템은 정기적인 파일 가져오기가 필요할 수 있으며, 이는 범위에 명시해 드립니다.
보안과 백업은 어떻게 처리하나요?
권한은 서버에서 적용하며, 고객 간 경계를 넘으려는 시도를 자동화된 테스트로 검증하고, 직원의 접근 기록도 남깁니다. 백업은 데이터베이스에 따라 다릅니다. 예를 들어 Cloudflare D1은 Workers Paid 플랜에서 최근 30일 중 원하는 시점(분 단위)으로 데이터베이스를 복원할 수 있습니다. 복원 절차는 문서로 정리하고 출시 전에 테스트합니다.
포털과 데이터의 소유권은 누구에게 있나요?
고객님께 있습니다. 데이터베이스, 파일 저장소, 서비스 계정은 고객님 회사 명의로 만들고, 코드 저장소는 인도 시 이전하며, 데이터는 표준 형식으로 내보낼 수 있습니다. 고객의 개인정보는 고객님의 개인정보 처리방침과 책임 주체로서의 의무에 따라 관리됩니다.
출시 후에도 지속적인 지원을 제공하나요?
네. 모니터링, 보안 업데이트, 의존성 업그레이드, 소규모 수정을 포함하는 월 단위 범위로 계약하거나, 규모가 큰 기능은 별도 프로젝트로 진행합니다. 포털에는 고객 데이터가 있으므로 출시 후 업데이트를 책임질 담당이 반드시 필요합니다. 내부 팀이 맡는다면 문서와 인수 설명을 대신 제공해 드립니다.
출처 및 추가 자료
이 페이지의 출처이며, 원 발행처의 더 자세한 내용도 확인하실 수 있습니다.
- OWASP Top 10:2025, A01 Broken Access Controltop10.owasp.org
- Stripe Billing 요금stripe.com
- Google Identity: OpenID Connectdevelopers.google.com
- Microsoft identity platform: OpenID Connectlearn.microsoft.com
- Cloudflare D1: Time Travel (특정 시점 복구)developers.cloudflare.com

