Skip to main content
miilink

크리에이터 콘텐츠를 위한 엔터프라이즈급 통제

miilink는 모든 단축 링크에 엔터프라이즈급 콘텐츠 통제를 적용합니다. 아래는 현재 production에 적용된 감사 가능한 통제 항목입니다.

투명성 약속

모든 보안 수정은 공개 GitHub commit으로 배포됩니다. Pre-launch 단계의 모든 P0 / P1 이슈에는 PR, 로드맵 문서, 리뷰가 함께 있습니다.

구현된 보안 통제

2026-05-14 기준

3계층 접근 통제

콘텐츠 조회 시 uploadStatus → publishStatus → 만료 → 조회 횟수 한도 → 지역 → 테이크다운 순으로 검증. 한 계층이라도 실패하면 거부.

lib/content/access-check.ts

엔드투엔드 암호화

AES-GCM-256 브라우저 로컬 암호화, PBKDF2 100k iterations로 키 유도. 서버는 평문을 보지 못하며 비밀번호도 DB에 저장하지 않음.

lib/crypto/encrypt.ts

지역 제한

크리에이터가 허용 국가 화이트리스트를 지정. IP-국가 매핑은 DB-IP 데이터베이스로 실시간 조회.

Content.allowedCountries

분산 rate limit

Token bucket을 Redis Lua script로 구현. 여러 app instance 간 일관성 보장, race condition 없음.

lib/rate-limit/limiter-unified.ts

Fail-closed 시크릿 검증

JWT_SECRET / FINGERPRINT_SECRET / CRON_SECRET / DATABASE_URL 중 하나라도 누락되면 production 시작 시 throw. fallback으로 조용히 실행되지 않음.

lib/config/secrets.ts

Content Security Policy

CSP + HSTS + Referrer-Policy + X-Frame-Options 전부 적용. Report-Only 미러로 위반을 DB에 기록, 향후 nonce migration의 근거로 활용.

lib/security/csp.js

시크릿 스캐닝 CI

모든 PR에 Gitleaks 자동 실행. 발견 시 인라인 코멘트 + merge 차단.

.github/workflows/ci.yml

관리자 테이크다운 즉시 반영

단축 링크나 콘텐츠를 테이크다운한 후 조회는 즉시 거부되며 viewer 캐시도 동기 무효화. race 없음.

lib/content/access-check.ts → takedownResponse

통제 항목에 대해 질문이 있으신가요?

저희는 보안 감사를 피하지 않습니다. 확인하고 싶은 세부사항을 이메일로 알려주세요.

문의하기
    신뢰와 보안 | miilink