n8n Playground는 보안이 완벽하지 않은 테스트 환경입니다. 따라서 실제 고객 정보나 결제 정보를 그대로 사용하는 것은 보안 사고로 이어질 수 있습니다. 안전한 테스트를 위해 아래의 데이터 처리 3원칙을 반드시 지켜주세요.
1. 제1원칙: 가짜 데이터(Dummy Data) 사용
테스트 단계에서는 실제 데이터 대신 가상의 데이터를 사용하는 것이 가장 안전하고 바람직합니다.
- 이름: 홍길동, 김철수
- 전화번호: 010-0000-0000
- 이메일: test@example.com
- 카드번호: 1234-****
Tip: n8n에는 가짜 데이터를 생성해 주는 Faker 노드나 기능을 활용하거나, ChatGPT에게 "테스트용 고객 데이터 10개만 CSV로 만들어줘"라고 요청해서 쓰세요.
2. 제2원칙: 마스킹(Masking) 필수 처리
부득이하게 운영 데이터를 내려받아 테스트해야 한다면, n8n에 업로드하기 전에 엑셀(Excel) 등에서 먼저 식별 정보를 지워야 합니다.
필수 마스킹 항목 및 규칙
| 항목 | 마스킹 규칙 | 예시 (Before → After) |
|---|---|---|
| 이름 | 성을 제외한 이름 마스킹 | 김철수 → 김*수 또는 김** |
| 전화번호 | 가운데 또는 뒷자리 마스킹 | 010-1234-5678 → 010-****-5678 |
| 이메일 | ID 앞 3자리 이후 마스킹 | apple@gmail.com → app**@gmail.com |
| 계좌/카드 | 앞/뒤 4자리 제외 마스킹 | 1234-5678-1234-5678 → 1234-****-****-5678 |
| 주소 | 읍/면/동 이하 상세주소 삭제 | 서울시 강남구 테헤란로 123 → 서울시 강남구 |
3. 제3원칙: 고유식별정보 절대 반입 금지
절대 반입 금지
아래 정보는 마스킹 여부와 관계없이 Playground 환경에 절대 업로드하거나 입력할 수 없습니다.
주민등록번호 / 여권번호 / 운전면허번호 / 외국인등록번호
n8n에서 자동으로 마스킹하는 법 (Code Node)
매번 엑셀에서 지우기 귀찮으시죠? 워크플로우 중간에 Code 노드를 하나 넣고 아래 코드를 붙여넣으면, 데이터가 자동으로 마스킹 처리되어 안전해집니다.
// 입력된 데이터에서 민감 정보를 자동으로 가립니다.
return items.map(item => {
const json = item.json;
if (json.name && json.name.length >= 2) {
json.name = json.name[0] + '*'.repeat(json.name.length - 1);
}
if (json.phone) {
json.phone = json.phone.replace(/(\d{3})-\d{4}-(\d{4})/, '$1-****-$2');
}
if (json.email) {
const [user, domain] = json.email.split('@');
if (user.length > 3) {
json.email = `${user.slice(0, 3)}****@${domain}`;
} else {
json.email = `***@${domain}`;
}
}
return { json };
});
관리자(AIA) 조치 사항
- 모니터링 정기 점검 시 마스킹되지 않은 실 데이터(Real Data)가 발견될 경우, 해당 워크플로우는 즉시 중단되며 데이터는 삭제됩니다.
- 책임 마스킹되지 않은 데이터 유출로 인한 보안 사고 발생 시, 해당 계정의 관리자(팀장)에게 책임이 있습니다.