본문으로 건너뛰기
포트폴리오로 돌아가기
의료광고 소재 생성·심의 파이프라인MVP

AdGate

자사몰 URL에서 브랜드 DNA를 추출해 카피와 소재를 만들고, 의료광고법 게이트를 통과한 것만 코드 렌더 PNG와 심의 패키지로 내보내는 광고 제작 파이프라인입니다.

AdGate | 의료광고 소재 생성·심의 파이프라인

개요

광고 소재를 만들 때 제일 자주 사고가 나는 지점은 카피를 쓰는 순간이 아니라, 다 만들어놓고 심의에서 걸리는 순간입니다. AdGate는 그 순서를 뒤집어본 파이프라인입니다.

자사몰 URL을 넣으면 브랜드 컬러와 톤을 추출해 카피와 소재 앵글을 만들고, 의료광고법 게이트를 지나야 렌더로 넘어갑니다. 통과한 것만 PNG와 심의 패키지로 나옵니다.

PNG를 이미지 모델로 뽑지 않고 코드로 렌더합니다. 같은 입력이면 같은 바이트가 나오고, 라이선스 화이트리스트에 없는 폰트는 렌더 자체가 막힙니다. 심의에 낼 물건은 "왜 이렇게 나왔는지" 설명이 되어야 하는데, 매번 결과가 달라지는 파이프라인으로는 그 설명을 할 수 없습니다.

산출물마다 단계별 PII 검사 증거와 파일 SHA-256을 남깁니다. DEMO로 돌린 결과는 manifest에 따로 표시해서 LIVE 결과와 섞이지 않게 했습니다.

프로덕션 투입은 아직 제가 막아두었습니다. 표현 판정의 recall과 precision 사인오프가 남아 있고, 폰트 라이선스와 의료광고법 부분은 사람의 최종 승인이 필요합니다. 테스트 328개가 통과한다는 것과 남의 광고를 대신 내보낼 준비가 됐다는 것은 다른 얘기입니다.

핵심 스킬

의료광고법 게이트를 렌더 파이프라인 안에 넣는 설계
결정론 렌더링과 폰트 라이선스 화이트리스트
PII fail-closed 인입과 산출물 provenance 기록

구현

  1. 1스크레이프, 팔레트, 컬러롤, 앵글 엔진, 컴플라이언스 게이트, 렌더 엔진을 8개 모듈로 나누고 오케스트레이터가 순서를 고정합니다.
  2. 2PNG를 이미지 모델이 아니라 코드로 렌더합니다. 같은 입력이면 같은 바이트가 나오고, 화이트리스트에 없는 폰트는 렌더 자체가 막힙니다.
  3. 3산출물마다 단계별 PII 증거와 파일 SHA-256을 남기고, DEMO 결과는 manifest에 별도 플래그로 기록해 LIVE와 섞이지 않게 했습니다.

장점

  • 광고법 판정을 사람 검수 앞단에 두어, 게이트를 통과하지 못한 표현은 소재로 렌더되지 않습니다.
  • 테스트 328개가 결정론, PII fail-closed, 컴플라이언스, 렌더, 오케스트레이션을 각각 고정합니다.
  • 프로덕션 투입은 의도적으로 차단 상태입니다. 표현 recall·precision 사인오프와 사람의 법률·라이선스 승인이 남아 있습니다.

지표

164
커밋
328
테스트
8
파이프라인 모듈
3
출력 비율

기술 스택

Node.jsPlaywrightsharpPostgreSQLn8nVitestClaude APIOllama

스크린샷

AdGate 1