사용자가 싫어하지 않는 알림 설정: 토글과 조용한 시간
이벤트별 토글, 조용한 시간, 요약, 전달 추적을 갖춘 알림 환경설정을 설계해 사람들이 스팸으로 느끼지 않으면서 정보를 유지하게 하세요.

사용자가 알림을 싫어하게 되는 이유
대부분 사람들은 알림 자체를 싫어하는 건 아닙니다. 이유 없는 방해를 싫어합니다. 알림이 너무 자주 오거나 반복되거나 부적절한 순간에 도착하면 사용자는 읽는 것을 멈추고 스와이프해 버립니다.
핵심 문제는 대개 양(volume)이 아닙니다. 불일치입니다. 시스템에 긴급한 것이 개인에게는 무관할 수 있습니다. 영업 담당자는 리드 할당을 바로 알아야 할지 몰라도, 오후 9시 07분에 오는 “주간 팁”은 필요하지 않을 수 있습니다. 모든 것이 똑같이 중요해 보이면, 아무것도 중요하게 느껴지지 않습니다.
사람들이 알림을 끄는 이유는 예측 가능합니다: 너무 잦다, 역할에 맞지 않는다, (수면·회의·통근 등) 타이밍이 나쁘다, 다음에 무엇을 해야 할지 불분명하다, 출처가 혼란스럽다.
도움이 되는 알림은 노력을 줄입니다. 잡음은 노력을 더합니다. 좋은 알림은 세 가지 질문에 빠르게 답합니다: 무슨 일이 일어났나? 내게 중요한가? 다음에 무엇을 해야 하나?
사용자가 모든 것을 분노로 비활성화하면 숨겨진 비용이 생깁니다: 실제로 중요한 한 통을 놓칩니다. 계정 잠금, 결제 실패, 보안 경고는 몇 주간 저가치 알림에 지쳐 옵트아웃한 후 무시될 수 있습니다. 그렇게 ‘짜증’이 ‘지원 티켓’으로 변합니다.
좋은 알림 환경설정의 목적은 하나입니다: 명확한 선택으로 사람들에게 통제권을 주고 행동을 예측 가능하게 만드는 것. 사용자가 한 유형의 알림을 끄면 그 설정은 유지되어야 합니다. 조용한 시간을 설정하면 앱은 매번, 채널 전반에 걸쳐 이를 존중해야 합니다.
좋은 알림 설정을 위한 간단한 규칙
좋은 알림 환경설정은 한 가지 질문에서 시작합니다: 사용자가 무엇을 따라가려 하는가, 무엇은 기다릴 수 있는가.
누군가가 “새 주문” 알림을 켜면 보통 "빠르게 알려줘서 조치하려는" 의도입니다. “주간 제품 팁”을 원하면 "시간 있을 때 읽겠다"는 뜻입니다. 내부 이벤트 목록이 아니라 그 의도를 중심으로 설정을 구성하세요.
이벤트 수는 작고 명확하게 유지하세요. “상태 변경”의 변형이 다섯 개나 있으면 대부분의 사람은 모든 것을 끄거나 모두 켜고 후회할 것입니다. 유사한 이벤트는 하나의 명확한 옵션으로 묶고, 다음 행동이 실제로 다를 때만 분리하세요.
기본값은 대부분의 팀이 생각하는 것보다 중요합니다. 치명적이지 않은 항목은 기본적으로 조용하게 시작하고 사용자가 옵트인하도록 하세요. 새 사용자는 아무것도 하지 않아도 존중받는 느낌을 받아야 합니다.
평이한 언어를 사용하세요. 사용자가 실제로 쓰지 않는 용어(예: “워크플로”, “티켓 수명주기”, “웹훅 실패”)는 피하세요. 라벨은 동료에게 설명하듯 쓰세요.
토글을 탭할 때 사용자는 세 가지를 이해해야 합니다:
- 얼마나 자주 발생할 수 있는지(즉시, 일일, 주간)
- 어디로 도착할지(푸시, 이메일, SMS)
- 어떤 내용을 담을지(전체 상세 또는 간단 요약)
토글을 추가하기 전에 적절한 이벤트를 선택하세요
긴 알림 환경설정 목록을 만들기 전에 어떤 이벤트가 설정을 가질 자격이 있는지 결정하세요. 대부분의 설정 화면이 짜증스럽게 느껴지는 이유는 시끄럽고 가치가 낮은 이벤트에 대해 선택지를 제공하면서 진짜 중요한 것들이 묻혀 있기 때문입니다.
이벤트를 목적별로 그룹화해 사용자가 무엇을 받을지 예측할 수 있게 하세요:
- 보안(새 로그인, 비밀번호 변경)
- 청구(결제 실패, 청구서 준비 완료)
- 계정(플랜 변경, 관리자 추가)
- 워크플로 업데이트(작업 할당, 승인 필요)
- 마케팅(팁, 프로모션)
각 그룹 안에서 이벤트를 치명적(조치 필요 또는 위험 높음), 정보성(알아두면 좋은), 홍보성(있으면 좋은)으로 구분하세요. 치명적은 즉시 전달이 필요할 수 있고, 주간 보고서는 요약으로 기다려도 됩니다.
“절대 끌 수 없음” 목록은 조심하세요. 반드시 켜져 있어야 한다면 그 목록을 매우 짧게 유지하고 이유를 설명하세요(대개 보안과 특정 청구 알림). 나머지는 사용자 제어에 맡겨야 합니다.
실용적 규칙: 각 이벤트에 대해 무슨 일이 일어났고 왜 중요한지 한 문장으로 쓰세요. 예: “새 기기가 계정에 로그인했습니다 — 의심스러운 접근을 확인하기 위해.” 그 문장을 막연하게 들리지 않게 쓸 수 없다면 그 이벤트는 자체 토글을 가질 자격이 없을 가능성이 큽니다.
공정하고 이해하기 쉬운 이벤트별 토글
이벤트별 토글은 사용자가 실제로 신경 쓰는 순간에 맞을 때 잘 작동합니다. 이벤트가 금전적, 시간적, 신뢰 측면에서 비용을 초래할 수 있다면 자체 스위치가 필요합니다. 대부분 “참고용”이라면 토글 대신 요약으로 묶는 것을 고려하세요.
토글 이름은 기능 영역이 아니라 실제 사건처럼 붙이세요. “결제 실패”가 “청구 업데이트”보다 명확합니다. 이것이 존중받는 환경설정과 설정 미로의 차이입니다.
각 토글 아래에 메시지 예시 한 줄을 보여 사용자 기대치를 설정하세요.
- 티켓에 새 댓글: “Alex가 답장: ‘스크린샷 공유해줄래?’”
- 빌드 완료: “웹 앱 빌드가 2분 14초 만에 성공했습니다.”
- 결제 실패: “카드(끝자리 4821)가 거부되었습니다. 중단을 피하려면 업데이트하세요.”
카테고리 토글은 카테고리가 명확하고 안정적일 때만 유용합니다. “보안”, “청구”, “계정 액세스”는 보통 명확합니다. 반면 “제품 업데이트”나 “활동”은 너무 많은 것을 숨기는 경우가 많습니다.
숨겨진 의존성은 피하세요. “댓글”을 끄면 “멘션”도 비활성화된다면 바로 알려주십시오. 더 나은 방법은 둘을 분리하는 것입니다. 놀람은 사용자가 전체 화면을 불신하게 만듭니다.
선택을 지우지 않는 전역 일시중지(pause)를 추가하세요. “1시간/1일/내가 다시 켤 때까지 모든 알림 일시중지”는 바쁜 날의 안전 장치이며, 이벤트별 설정은 유지됩니다.
시간대와 예외를 존중하는 조용한 시간
조용한 시간은 한 가지 의미여야 합니다: 사용자가 방해받고 싶지 않다고 말한 시간에는 비긴급 메시지를 보내지 않는 것.
시간대는 조용한 시간이 제대로 느껴지느냐 고장처럼 느껴지느냐를 결정합니다. 여행하는 사람은 현재 위치에 따라 조용한 시간이 따라오길 원할 수도 있고, 다른 사람은 여행 중에도 집(로컬) 스케줄을 고정으로 유지하길 원합니다. “현재 시간대 사용”과 “집 시간대 사용” 같은 평이한 라벨을 제공하세요.
조용한 시간에는 명확한 예외가 필요합니다. 사용자는 예외가 드물고 이해하기 쉬울 때 이를 받아들입니다. 예외 목록은 위험을 기준으로 짧게 유지하세요(마케팅이 아님):
- 계정 보안 알림(새 로그인, 비밀번호 변경)
- 서비스 중단을 초래하는 결제 실패
- 데드라인이 있는 시의성 있는 승인
- 멘션 또는 직접 회신(선택 사항)
예외 상황도 중요합니다. 섬머타임은 스케줄을 한 시간씩 이동시킬 수 있으므로 UI에 다음 "조용한 시간 시작"과 "조용한 시간 종료" 시각을 표시하세요.
주말을 위해 사용자가 두 개의 스케줄을 처음부터 만들게 하지 마세요. “평일만” 스위치나 한번의 탭으로 요일을 고르는 방식 같은 간단한 옵션을 제공하세요.
프리셋은 사람들이 빠르게 마칠 수 있게 도와줍니다: “야간(오후 10시–오전 8시)”과 “사용자 지정”. 선택 후에도 편집할 수 있게 하여 함정처럼 느껴지지 않게 하세요.
중요한 업데이트를 놓치지 않게 하는 요약 모드
요약은 약속입니다: “우리는 당신을 정보를 유지하되 방해하지 않겠습니다.” 반응, 일상 활동, 일일 통계 같은 시끄럽고 긴급도가 낮은 업데이트에 가장 잘 맞습니다. 작업을 막거나 빠른 응답이 필요하거나 마감이 있는 항목에는 부적합합니다.
요약 옵션은 이벤트를 두 그룹으로 나누는 것부터 시작해야 합니다. 높은 긴급도 이벤트는 실시간으로 유지(보안 알림, 결제, 승인, 장애)하고, 높은 볼륨 이벤트는 요약으로 이동(활발한 댓글 스레드, 팔로워 활동, 루틴 요약).
빈도 선택지는 익숙한 것으로 유지하세요:
- 일간
- 주간
- 활동이 있을 때만
- 사용 안 함(끄기)
사용자가 요약 발송 시간을 고르고 시간대를 확인하게 하세요. 새벽 3시에 도착하는 요약은 ‘정상’이어도 문제로 느껴집니다.
명확성이 화려한 제어보다 낫습니다. 각 이벤트를 “실시간” 또는 “요약”으로 라벨링해 사용자가 추측할 필요가 없게 하세요. 이벤트를 변경해 요약으로 옮기면 그 사실을 제어 옆에 표시하세요.
미리보기는 불안을 줄입니다. 요약에 어떤 내용이 들어갈지 작은 샘플을 보여주세요: 몇 개의 제목, 카운트, 가장 중요한 항목들. 예: “댓글 3개, 상태 변경 2건, 멘션 1건”과 짧은 스니펫.
진짜 전달 추적(단순한 '전송'이 아님)
“전송(sent)”은 단지 메시지를 제공자에게 넘겼다는 의미입니다. 사용자는 그다음에 무슨 일이 일어났는지 관심을 가집니다. 중요한 알림에서 “시도했다”와 “받았다”는 같지 않습니다.
단순 모델은 다음과 같습니다:
- 전송됨(Sent): 앱이 메시지를 큐에 넣고 이메일/SMS/푸시 서비스에 넘겼습니다.
- 전달됨(Delivered): 제공자가 장치나 메일박스로 도달했다고 보고했을 때(해당 신호가 있는 경우).
- 열림/읽음(Opened/Read): 사용자가 열람했을 때(일부 채널에서 가능하며 항상 신뢰할 수는 없음).
실패할 때는 가능한 이유를 추적하세요. “실패”는 너무 모호합니다. 더 나은 예시는 차단됨(통신사 필터링), 반송(bounce), 잘못된 주소/번호, 만료된 토큰(더 이상 유효하지 않은 푸시 토큰)입니다. 모든 제공자에서 완벽한 세부 정보를 얻지 못하더라도 아는 범위만이라도 저장하세요.
일시적 실패에는 재시도 규칙이 필요합니다. 좋은 기본값은 제공자를 스팸하지 않고 배터리를 소모하지 않도록 백오프를 둔 제한된 재시도입니다. 예: 1분 후 재시도, 그다음 5분, 그다음 30분, 이후 중지하고 실패로 표기. 잘못된 번호 같은 영구 오류는 재시도하면 안 됩니다.
중요한 메시지에 대해서는 사용자에게 간단한 상태를 보여주세요. 예: “비밀번호 재설정 코드를 받지 못했어요”라고 하면 “SMS 실패: 잘못된 번호” 같은 가시적 문구가 좌절감을 막고 사용자가 실제 문제를 고칠 수 있게 합니다.
지원 및 규정 준수를 위해 감사 기록을 보관하세요. 누구에게 보냈는지, 어떤 채널이 선택되었는지, 각 상태의 타임스탬프, 마지막 알려진 오류를 저장하세요.
단계별로 알림 환경설정 구현하기
알림 환경설정을 단순 토글의 모음이 아니라 제품 로직으로 다루세요. 규칙을 먼저 만들면 이벤트를 추가할 때 UI와 전송 시스템이 일관성을 유지합니다.
화면을 만들기 전에 규칙을 만드세요
알릴 수 있는 항목의 목록을 만들고 각 이벤트에 대해 긴급도와 적절한 채널(푸시, 이메일, SMS)을 결정하세요. 그런 다음 대부분의 사람이 건드리지 않아도 되는 기본값을 고르세요.
실용적 점검: 토글을 한 문장으로 설명할 수 없다면 그것은 아마도 여러 이벤트를 합쳐 놓은 것이고 분리해야 합니다.
저장, 평가, 스케줄, 측정
모든 전송이 동일한 결정 지점을 거치게 하세요. 여기서 사용자의 선택, 조용한 시간, 요약 논리를 적용한 다음 시스템에서 아무 것도 외부로 나가지 않습니다.
선호를 이벤트별, 채널별, 타이밍별로 사람들이 생각하는 방식에 맞춘 구조로 저장하세요. 조용한 시간과 요약 윈도우에 대한 스케줄링을 포함하고 시간대 처리와 치명적 알림 예외를 추가하세요. 전체 체인을 로깅하세요: 전송 시도, 제공자 응답(전달됨, 반송, 실패), 사용자 행동(옵트아웃, 변경).
예시: 사용자가 “주간 팁” 이메일을 끄고 “보안 알림” 이메일은 켜 두었으며 조용한 시간이 밤 10시–오전 7시로 설정되어 있다고 가정합니다. 비상 비밀번호 재설정 이메일은 새벽 2시에 허용되고 저우선순위 메시지는 아침 요약으로 보류되어야 합니다.
분노-탈주(rage-quit) 설정 화면을 만드는 흔한 실수
대부분 사람들은 업데이트를 받는 것 자체를 싫어하지 않습니다. 갇혀있거나, 혼란스럽거나, 무시당한다고 느끼는 것을 싫어합니다. 몇 가지 디자인 실수가 알림 환경설정 화면을 한 번 가보고 짜증나서 다시는 건드리지 않게 만듭니다.
흔한 패턴:
- “업데이트”나 “활동”처럼 모호한 이름의 지나치게 많은 토글—사용자는 무엇을 받을지 예측할 수 없습니다.
- 이벤트와 채널을 섞어버린 마스터 스위치(예: “댓글에 대해 알림”이 이메일, 푸시, SMS를 은밀히 모두 포함).
- 시간대 변경이나 섬머타임을 무시하는 조용한 시간.
- 같은 이벤트에 대해 요약과 실시간을 동시에 보내는 “요약”(사용자는 두 개를 모두 받아 제품이 고장난 줄 압니다).
이 문제의 대부분을 방지하는 두 가지 해결책이 있습니다. 첫째, 모든 컨트롤은 한 가지 질문에 답하게 만드세요: 어떤 이벤트, 어떤 채널, 어떤 타이밍인가. 이름은 구체적으로 하세요(예: “새 송장 결제됨” 대신 “청구”). 둘째, 전달을 단순히 “전송됨”으로 끝내지 말고 추적하세요. 그렇지 않으면 이메일이 반송되거나 푸시가 도달하지 않아도 성공했다고 주장하게 됩니다.
출시 전 빠른 점검
출시 전에 실제 사용자처럼 빠르게 점검하세요. 피곤하고 바쁜 상태에서 소음을 멈추되 중요한 것을 놓치고 싶지 않은 사람인 척 해보세요.
가장 시끄러운 이벤트 하나부터 시작하세요. 한 번의 시끄러운 트리거를 끄려면 중요한 알림도 같이 사라진다면 설정은 불공정하게 느껴질 것입니다.
그다음 타이밍을 확인하세요. 사용자가 메시지가 지금 도착할지, 요약에서 나중에 올지, 또는 전혀 오지 않을지를 추측하게 해서는 안 됩니다. UI는 분명히 표시해야 하고 미리보기 텍스트는 실제 동작과 일치해야 합니다.
출시 전 체크리스트:
- 시끄러운 이벤트 하나만 끌 수 있고 중요한 알림을 잃지 않는가?
- 각 이벤트가 실시간인지, 요약인지, 비활성인지 분명한가?
- 조용한 시간은 설정하기 쉬우며 올바른 시간대를 표시하는가?
- 중요한 알림에 대해 “전송됨”이 아니라 전달 상태(전달됨, 실패, 반송)를 확인할 수 있는가?
조용한 시간은 혼란이 숨어 있는 곳입니다. 제어는 “오후 10:00–오전 7:00” 같은 단순한 창을 보여야 하고 차단된 알림이 어떻게 처리되는지(음소거, 지연, 다음 요약으로 이동) 설명해야 합니다. 예외를 허용하면 “항상 보안 알림 허용”처럼 평이한 문구로 라벨링하세요.
마지막으로 작업에서 증거로 가는 루프를 테스트하세요. 사용자가 “전혀 못 받았어요”라고 하면 시스템은 다음을 답할 수 있어야 합니다: 큐에 넣어졌나, 제공자에게 넘겼나, 장치로 전달되었나, 또는 거부되었나?
예시: 바쁜 사용자를 위한 현실적인 설정
Maya는 12명 규모의 지원 팀을 이끕니다. 고객 데이터에 위협이 될 만한 모든 것에 대해 알기를 원하지만, 모든 댓글·이모지·루틴 업데이트에 폰이 울리는 건 원치 않습니다. 회의가 잦아 기본적으로 조용하되 꼭 필요할 때만 울리게 설정이 필요합니다.
그녀의 선호는 다음과 같습니다:
- 보안 알림: 푸시 + SMS(항상 켬)
- 비밀번호 재설정 및 로그인 경고: 푸시 + 이메일
- 내게 할당된 새 티켓: 푸시
- 내가 팔로우하는 티켓의 댓글: 일간 요약(이메일)
- 멘션(@me): 푸시
그녀는 티켓 활동, 상태 변경, 비긴급 댓글 같은 배경 소음은 요약으로 관리합니다. 어떤 것이 긴급해지면 그것은 알림이며 요약의 일부가 아닙니다.
조용한 시간은 평일 밤 9시–오전 7시(로컬 시간)로 설정되어 있고 보안 알림은 조용한 시간을 우회합니다. 새벽 2시에 의심스러운 로그인이 있으면 그녀는 여전히 이를 받습니다.
전달 추적 덕분에 그녀의 설정은 추측이 아니라 사실로 느껴집니다. 비밀번호 재설정을 요청하면 앱이 단지 “전송됨”이라고 표시하는 대신 이메일 제공자에게 전달되었는지 확인할 수 있습니다. 반면 고객의 월간 청구서 이메일은 반송되어 팀이 받은 사람이 없다는 것을 알 수 있습니다.
사용자가 “못 받았어요”라고 하면 지원은 다음 단계를 따라갑니다:
- 이벤트 로그 확인(무엇이 언제 트리거되었는가)
- 채널 결과 확인(전달됨, 연기됨, 반송, 실패)
- 사용자 설정 확인(토글, 요약, 해당 시점의 조용한 시간)
- 재전송 또는 채널 전환(예: 이메일 대신 SMS) 후 결과 기록
다음 단계: 더 차분한 알림 경험 출시하기
이벤트 목록을 서면으로 시작하세요. 각 이벤트가 치명적인가(보안, 청구, 계정 액세스) 아니면 선택적인가(댓글, 좋아요, 팁)인지 결정하세요. 이벤트가 왜 존재하는지 한 문장으로 설명할 수 없다면 첫 출시 후보에는 포함시키지 마세요.
바쁜 사람에게 말하듯 사용자용 라벨을 쓰세요. 구체적으로 유지하고(“새 기기에서의 로그인”) 한 줄짜리 미리보기(“계정 안전을 위해 즉시 알립니다”)를 추가하세요.
출시 전에 전달 로깅을 추가해 지원팀이 실제 질문에 답할 수 있게 하세요: 도달했나? 생성→큐→제공자 전달→전달/실패까지의 경로를 추적하고 가능하면 열람 정보도 저장하세요.
무코드 플랫폼(AppMaster 같은) 내부에 환경설정 센터를 만든다면, 알림을 일급 제품 기능으로 취급하는 것이 도움이 됩니다: 이벤트 정의, 사용자별 설정을 PostgreSQL에 저장, 비즈니스 로직에서 하나의 공유 결정 단계를 유지하세요. AppMaster (appmaster.io)는 백엔드 규칙과 UI 설정이 제품 성장에 따라 일치하도록 설계된 도구입니다.
소량의 사용자에게 먼저 롤아웃하고 옵트아웃률, “모두 음소거” 사용, 알림 누락 관련 지원 티켓, 불만의 주제들을 관찰하세요. 하나의 이벤트가 대부분의 옵트아웃을 유발하면 더 추가하기 전에 그 이벤트를 고치세요.
자주 묻는 질문
알림이 사용자의 의도와 맞지 않기 때문입니다. 메시지가 명확히 행동에 도움이 될 때 사람들은 잦은 알림을 참지만, 반복적이거나 관련 없거나 잘못된 시간에 도착하면 끄게 됩니다.
비(非)치명적인 항목은 기본값을 조용하게 설정하고 사용자가 선택하도록 하세요. 보안 및 일부 청구 관련 알림처럼 중요한 항목은 기본으로 켜 두되, 나머지는 사용자가 쉽게 제어할 수 있게 하여 새 사용자가 설정을 건드리지 않아도 존중받는 느낌을 주어야 합니다.
다음 행동이 같다면 유사한 이벤트를 묶고, 결정이 달라질 때만 분리하세요. 한 문장으로 해당 토글이 무엇을 의미하고 사용자가 무엇을 해야 하는지 설명할 수 없다면, 너무 많거나 애매한 토글일 가능성이 큽니다.
토글은 기능 영역이 아닌 실제 사건으로 이름 지으세요. “결제 실패”나 “새 기기에서의 로그인”처럼 결과가 분명한 레이블이 낫습니다. “업데이트”나 “활동” 같은 이름은 사용자가 추측하게 만들어 보통 옵트아웃으로 이어집니다.
“끄기 불가”는 잠금, 서비스 중단 같은 심각한 위험이 있는 극히 일부 알림(주로 보안 및 특정 청구 실패)에만 적용하세요. 켜 둘 수밖에 없다면 이유를 평이하게 설명해 보호를 위한 조치로 느껴지게 하세요.
조용한 시간은 사용자가 정한 시간 동안 비긴급 알림을 지연시키거나 음소거해야 하며, 일부 고위험 이벤트는 예외로 허용해야 합니다. 또한 시간대 처리를 정확히 해 여행이나 섬머타임 전환 시에도 같은 설정이 ‘망가진’ 것처럼 느껴지지 않아야 합니다.
반복률이 높고 긴급도가 낮은 업데이트(반응, 루틴 활동, 일일 통계 등)는 요약으로 묶고, 작업을 막거나 빠른 응답이 필요한 항목은 실시간으로 유지하세요. 핵심은 예측 가능성입니다: 같은 이벤트에 대해 요약과 실시간이 동시에 발송되는 일이 없어야 합니다.
“전송(sent)”은 메시지를 제공자에게 넘겼다는 의미일 뿐 사용자가 받았다는 뜻은 아닙니다. 전달, 반송(bounced), 차단(blocked), 잘못된 목적지 등 이후 상태를 추적해야 지원팀이 “도달했나요?”에 답할 수 있고 사용자는 이메일 오류나 만료된 푸시 토큰 같은 문제를 고칠 수 있습니다.
일시적 실패에는 백오프를 둔 제한된 재시도 전략을 사용하고, 영구적 오류(잘못된 번호 등)는 재시도하지 마세요. 예: 1분 후, 5분 후, 30분 후 재시도하고 실패로 표시. 잦은 반복은 스팸처럼 보이고 배터리를 소모하므로 피해야 합니다.
사용자별로 이벤트·채널·타이밍 단위로 환경설정을 저장하고, 모든 알림 전송은 하나의 공통 결정 단계(shared decision step)를 거쳐야 합니다. AppMaster에서는 보통 PostgreSQL에 설정을 모델링하고 조용한 시간, 요약, 예외를 하나의 비즈니스 프로세스에서 강제해 UI와 백엔드가 확장하면서도 일치하도록 만듭니다.


