diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt
index 17b4c3d..1abe191 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanController.kt
@@ -23,24 +23,27 @@ class AdminSignatureCanController(private val service: AdminSignatureCanService)
     fun createSignatureCan(
         @RequestParam("can") can: Int,
         @RequestParam("image") image: MultipartFile,
-        @RequestParam("creator_id") creatorId: Long
+        @RequestParam("creator_id") creatorId: Long,
+        @RequestParam("isAdult", required = false) isAdult: Boolean = false
     ) = ApiResponse.ok(
-        service.createSignatureCan(can = can, creatorId = creatorId, image = image),
+        service.createSignatureCan(can = can, creatorId = creatorId, image = image, isAdult = isAdult),
         "등록되었습니다."
     )
 
     @PutMapping
     fun modifySignatureCan(
         @RequestParam("id") id: Long,
+        @RequestParam("can", required = false) can: Int?,
         @RequestParam("image", required = false) image: MultipartFile?,
-        @RequestParam("isActive", required = false) isActive: Boolean?
+        @RequestParam("isActive", required = false) isActive: Boolean?,
+        @RequestParam("isAdult", required = false) isAdult: Boolean?
     ) = run {
-        if (image == null && isActive == null) {
+        if (can == null && image == null && isActive == null && isAdult == null) {
             throw SodaException("변경사항이 없습니다.")
         }
 
         ApiResponse.ok(
-            service.modifySignatureCan(id = id, image = image, isActive = isActive),
+            service.modifySignatureCan(id = id, can = can, image = image, isActive = isActive, isAdult = isAdult),
             "수정되었습니다."
         )
     }
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt
index 5f34200..7825fa8 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanRepository.kt
@@ -31,6 +31,7 @@ class AdminSignatureCanQueryRepositoryImpl(
                 signatureCan.id,
                 signatureCan.can,
                 signatureCan.image.prepend("/").prepend(imageHost),
+                signatureCan.isAdult,
                 member.nickname
             )
         )
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt
index 8834731..d5028cd 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/AdminSignatureCanService.kt
@@ -37,13 +37,13 @@ class AdminSignatureCanService(
     }
 
     @Transactional
-    fun createSignatureCan(can: Int, creatorId: Long, image: MultipartFile) {
+    fun createSignatureCan(can: Int, creatorId: Long, image: MultipartFile, isAdult: Boolean) {
         if (creatorId < 1) throw SodaException("올바른 크리에이터를 선택해 주세요.")
 
         val creator = memberRepository.findCreatorByIdOrNull(memberId = creatorId)
             ?: throw SodaException("올바른 크리에이터를 선택해 주세요.")
 
-        val signatureCan = SignatureCan(can = can)
+        val signatureCan = SignatureCan(can = can, isAdult = isAdult)
         signatureCan.creator = creator
         repository.save(signatureCan)
 
@@ -60,14 +60,22 @@ class AdminSignatureCanService(
     }
 
     @Transactional
-    fun modifySignatureCan(id: Long, image: MultipartFile?, isActive: Boolean?) {
+    fun modifySignatureCan(id: Long, can: Int?, image: MultipartFile?, isActive: Boolean?, isAdult: Boolean?) {
         val signatureCan = repository.findByIdOrNull(id = id)
             ?: throw SodaException("잘못된 요청입니다.")
 
+        if (can != null) {
+            signatureCan.can = can
+        }
+
         if (isActive != null) {
             signatureCan.isActive = isActive
         }
 
+        if (isAdult != null) {
+            signatureCan.isAdult = isAdult
+        }
+
         if (image != null) {
             val metadata = ObjectMetadata()
             metadata.contentLength = image.size
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt
index d197058..1969a4d 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/live/signature/GetSignatureCanListResponse.kt
@@ -11,5 +11,6 @@ data class GetSignatureCanListItem @QueryProjection constructor(
     val id: Long,
     val can: Int,
     val image: String,
+    val isAdult: Boolean,
     val nickname: String
 )
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt
index 5fdafa1..df3115d 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureController.kt
@@ -32,12 +32,13 @@ class CreatorAdminSignatureController(private val service: CreatorAdminSignature
     fun createSignature(
         @RequestParam("can") can: Int,
         @RequestParam("image") image: MultipartFile,
+        @RequestParam("isAdult", required = false) isAdult: Boolean = false,
         @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
     ) = run {
         if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
 
         ApiResponse.ok(
-            service.createSignature(can = can, image = image, memberId = member.id!!),
+            service.createSignature(can = can, image = image, isAdult = isAdult, memberId = member.id!!),
             "등록되었습니다."
         )
     }
@@ -45,15 +46,26 @@ class CreatorAdminSignatureController(private val service: CreatorAdminSignature
     @PutMapping
     fun modifySignature(
         @RequestParam("id") id: Long,
+        @RequestParam("can", required = false) can: Int?,
         @RequestParam("image", required = false) image: MultipartFile?,
         @RequestParam("isActive", required = false) isActive: Boolean?,
+        @RequestParam("isAdult", required = false) isAdult: Boolean?,
         @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
     ) = run {
         if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
-        if (image == null && isActive == null) throw SodaException("변경사항이 없습니다.")
+        if (can == null && image == null && isActive == null && isAdult == null) {
+            throw SodaException("변경사항이 없습니다.")
+        }
 
         ApiResponse.ok(
-            service.modifySignature(id = id, image = image, isActive = isActive, memberId = member.id!!),
+            service.modifySignature(
+                id = id,
+                can = can,
+                image = image,
+                isActive = isActive,
+                isAdult = isAdult,
+                memberId = member.id!!
+            ),
             if (isActive == false) "삭제되었습니다." else "수정되었습니다."
         )
     }
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt
index 4442839..7fcc302 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureRepository.kt
@@ -41,6 +41,7 @@ class CreatorAdminSignatureQueryRepositoryImpl(
                 signatureCan.id,
                 signatureCan.can,
                 signatureCan.image.prepend("/").prepend(imageHost),
+                signatureCan.isAdult,
                 member.nickname
             )
         )
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt
index f1a637e..9c1f57c 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/CreatorAdminSignatureService.kt
@@ -37,11 +37,11 @@ class CreatorAdminSignatureService(
     }
 
     @Transactional
-    fun createSignature(can: Int, image: MultipartFile, memberId: Long) {
+    fun createSignature(can: Int, image: MultipartFile, memberId: Long, isAdult: Boolean) {
         val member = memberRepository.findCreatorByIdOrNull(memberId = memberId)
             ?: throw SodaException("잘못된 접근입니다.")
 
-        val signatureCan = SignatureCan(can = can)
+        val signatureCan = SignatureCan(can = can, isAdult = isAdult)
         signatureCan.creator = member
         repository.save(signatureCan)
 
@@ -58,14 +58,29 @@ class CreatorAdminSignatureService(
     }
 
     @Transactional
-    fun modifySignature(id: Long, image: MultipartFile?, isActive: Boolean?, memberId: Long) {
+    fun modifySignature(
+        id: Long,
+        can: Int?,
+        image: MultipartFile?,
+        isActive: Boolean?,
+        memberId: Long,
+        isAdult: Boolean?
+    ) {
         val signatureCan = repository.findSignatureByIdOrNull(id = id, memberId = memberId)
             ?: throw SodaException("잘못된 요청입니다.")
 
+        if (can != null) {
+            signatureCan.can = can
+        }
+
         if (isActive != null) {
             signatureCan.isActive = isActive
         }
 
+        if (isAdult != null) {
+            signatureCan.isAdult = isAdult
+        }
+
         if (image != null) {
             val metadata = ObjectMetadata()
             metadata.contentLength = image.size
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/GetSignatureListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/GetSignatureListResponse.kt
index 95093d8..9c8028d 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/GetSignatureListResponse.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/signature/GetSignatureListResponse.kt
@@ -11,5 +11,6 @@ data class GetSignatureListItem @QueryProjection constructor(
     val id: Long,
     val can: Int,
     val image: String,
+    val isAdult: Boolean,
     val nickname: String
 )
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt
index 85dfd1a..6cfc274 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt
@@ -1009,7 +1009,8 @@ class LiveRoomService(
         return signatureCanRepository.findImageByCreatorIdAndCan(
             creatorId = host.id!!,
             can = request.can,
-            imageHost = cloudFrontHost
+            imageHost = cloudFrontHost,
+            isAdult = room.isAdult
         )
     }
 
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCan.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCan.kt
index 66c666a..c9ee36f 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCan.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCan.kt
@@ -9,7 +9,8 @@ import javax.persistence.ManyToOne
 
 @Entity
 data class SignatureCan(
-    val can: Int,
+    var can: Int,
+    var isAdult: Boolean = false,
     var isActive: Boolean = true
 ) : BaseEntity() {
     var image: String? = null
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCanRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCanRepository.kt
index 51d67e9..2976998 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCanRepository.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/signature/SignatureCanRepository.kt
@@ -7,19 +7,24 @@ import org.springframework.data.jpa.repository.JpaRepository
 interface SignatureCanRepository : JpaRepository<SignatureCan, Long>, SignatureCanQueryRepository
 
 interface SignatureCanQueryRepository {
-    fun findImageByCreatorIdAndCan(creatorId: Long, can: Int, imageHost: String): String?
+    fun findImageByCreatorIdAndCan(creatorId: Long, can: Int, imageHost: String, isAdult: Boolean): String?
 }
 
 class SignatureCanQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : SignatureCanQueryRepository {
-    override fun findImageByCreatorIdAndCan(creatorId: Long, can: Int, imageHost: String): String? {
+    override fun findImageByCreatorIdAndCan(creatorId: Long, can: Int, imageHost: String, isAdult: Boolean): String? {
+        var where = signatureCan.creator.id.eq(creatorId)
+            .and(signatureCan.can.eq(can))
+            .and(signatureCan.isActive.isTrue)
+
+        if (!isAdult) {
+            where = where.and(signatureCan.isAdult.isFalse())
+        }
+
         return queryFactory
             .select(signatureCan.image.prepend("/").prepend(imageHost))
             .from(signatureCan)
-            .where(
-                signatureCan.creator.id.eq(creatorId)
-                    .and(signatureCan.can.eq(can))
-                    .and(signatureCan.isActive.isTrue)
-            )
+            .where(where)
+            .orderBy(signatureCan.isAdult.desc())
             .fetchFirst()
     }
 }