개인정보 보호를 고려한 코딩 세션을 위한 ClineCore 설정
ClineCore 세션 설정, 민감한 데이터 노출 제한, 일반적인 설정 문제 해결을 위한 실용 가이드입니다.
요약 · TL;DR
ClineCore는 공통 런타임 설정과 세션별 모델 설정을 분리합니다. 이 구조를 활용하면 자격 증명이 프롬프트와 로그에 들어가지 않도록 하고, 저장되는 데이터를 제한하며, 모든 공급자가 동일한 매개변수를 지원한다고 가정하지 않고 설정 문제를 해결할 수 있습니다.
핵심 요점
- 백엔드, 도구 정책, 런타임 기능은 공통 ClineCore 옵션으로 설정하고, 모델 및 자격 증명 설정은 각 세션에 전달하세요.
- API 키는 서버 측 환경 변수에 보관하고 프롬프트, 메타데이터, 미리 불러온 메시지에 자격 증명을 넣지 마세요.
- 세션 메시지, 식별자, 사용량 기록을 민감할 수 있는 데이터로 취급하고, 접근 권한과 보존 기간을 정하세요.
- 공급자별 필드와 엔드포인트 호환성은 공급자 문서에서 확인해야 합니다. 제공된 ClineCore 참조 문서는 모든 공급자가 이를 지원한다고 보장하지 않습니다.
목차 (6)
비공개 코드를 보내기 전에 세션을 구성하세요
ClineCore를 사용하면 애플리케이션에서 런타임을 만들고 모델 및 런타임 설정으로 세션을 시작할 수 있습니다. 개인정보 보호를 위해 결정해야 할 사항은 사용할 공급자뿐만이 아닙니다. 세션에 어떤 데이터를 전달할지, 어떤 도구가 해당 데이터에 작용할 수 있는지, 이후 애플리케이션이 무엇을 저장하거나 노출할지도 고려해야 합니다.
아래 예시는 설명을 위한 것으로, 테스트된 통합 예제가 아닙니다. ClineCore 참조 문서는 API의 형태를 설명하지만, 모든 공급자가 동일한 모델 매개변수나 엔드포인트 설정을 허용한다고 보장하지는 않습니다. 공급자별 옵션을 사용하기 전에 해당 공급자의 문서를 확인하세요.
공통 설정과 세션 설정을 분리하세요
ClineCore.create 옵션에는 클라이언트 이름, 백엔드 모드, 도구 정책, 기능, 자동화 활성화 여부와 같은 설정이 포함됩니다. start 호출에는 세션 모델 및 런타임 설정이 담긴 config가 필요합니다. 문서에 나온 예시에는 providerId, modelId, apiKey, systemPrompt, cwd, workspaceRoot, 도구 및 에이전트 플래그가 포함되어 있습니다.
서버 측에서 사용할 수 있는 최소 패턴은 다음과 같습니다.
import { ClineCore } from "@cline/sdk"
const cline = await ClineCore.create({
clientName: "private-code-review",
backendMode: "auto",
toolPolicies: {
// Set policies for the tools your application exposes.
},
})
const session = await cline.start({
prompt: "Review the selected files for risky input handling.",
config: {
providerId: process.env.CLINE_PROVIDER_ID!,
modelId: process.env.CLINE_MODEL_ID!,
apiKey: process.env.CLINE_API_KEY!,
systemPrompt: "Review only the supplied code. Do not request secrets.",
cwd: process.cwd(),
workspaceRoot: process.cwd(),
enableTools: false,
enableSpawnAgent: false,
enableAgentTeams: false,
},
})
이 예시는 자격 증명을 다루는 방법으로 환경 변수를 사용합니다. 다만 참조 문서는 비밀 정보 관리자를 지정하거나 이러한 환경 변수 이름을 정의하지 않습니다. 키는 신뢰할 수 있는 서버에 보관하고 브라우저 코드로 전송하지 마세요. 세션 설정을 애플리케이션 로그에 출력하지 않도록 주의하세요. 공급자에서 엔드포인트나 추가 매개변수를 요구한다면 해당 공급자의 문서에 따라 설정하고, ClineCore가 필요한 필드를 지원하는지 확인하세요.
개인정보 보호를 위한 결정을 명확히 하세요
세션을 시작하기 전에 에이전트에 필요한 정보가 무엇인지 결정하세요. 작업에 지장이 없다면 전체 저장소 대신 범위를 좁힌 작업 공간이나 선택한 파일만 제공하세요. 에이전트에 전달하는 자료에서 비밀 정보, 개인 데이터, 관련 없는 파일은 제외하세요. 시스템 프롬프트에 데이터 처리 방침을 명시할 수 있지만, 이것이 접근 제어나 데이터 최소화를 대신하지는 않습니다.
프롬프트 내용만큼 도구 접근 권한도 꼼꼼히 검토하세요. ClineCore는 기본 및 세션별 도구 정책을 지원하며, 런타임 기능에는 클라이언트가 소유한 도구 실행기와 승인 콜백이 포함될 수 있습니다. 작업에 필요하지 않은 도구는 비활성화하세요. 도구가 필요하다면 도구의 영향에 맞는 정책과 승인 절차를 적용하세요. 참조 문서는 이러한 설정 지점을 설명하지만 각 도구의 동작을 정의하거나 특정 정책이 모든 민감한 작업을 방지한다고 보장하지는 않습니다.
세션 기록은 민감한 정보일 수 있다고 간주하세요. API를 통해 세션 목록을 조회하고, 메타데이터와 메시지를 가져오며, 누적 사용량을 확인하고, 기록을 업데이트하거나 세션을 삭제할 수 있습니다. 따라서 애플리케이션은 이러한 메서드를 호출할 수 있는 사람과 적용할 보존 규칙을 정해야 합니다. 비밀 정보나 불필요한 개인 정보를 sessionMetadata, 초기 메시지, 프롬프트에 넣지 마세요. 메타데이터와 메시지는 세션 데이터이지, 비밀 정보를 안전하게 보관하는 저장소가 아닙니다.
distinctId 옵션은 안정적인 텔레메트리/사용자 식별자로 설명되어 있습니다. 이를 사용한다면 애플리케이션에 안정적인 식별자가 꼭 필요한지, 개인을 식별하는 데 사용될 수 있는지 고려하세요. 참조 문서는 텔레메트리 수집, 보존, 익명화에 대해 설명하지 않으므로 해당 식별자가 익명이라고 가정하거나 이 옵션 설정만으로 모든 텔레메트리가 제어된다고 생각하지 마세요.
일반적인 설정 오류 해결
- 세션 생성 시 설정이 거부됨:
config가 포함되어 있는지, 공급자 및 모델 식별자가 공급자에서 허용하는 값과 일치하는지 확인하세요. 제공된 참조 문서는 예시를 보여줄 뿐, 전체 공급자 목록을 제공하지 않습니다. - 인증 실패: 서버 프로세스에서 키를 사용할 수 있는지, 선택한 공급자에 해당하는 키인지, 키가 실수로 잘리거나 바뀌지 않았는지 확인하세요. 진단 프롬프트에 키를 넣거나 지원 티켓에 붙여 넣지 마세요.
- 공급자별 옵션이 무시되거나 거부됨: ClineCore 참조 문서는 모든 엔드포인트나 매개변수의 호환성을 보장하지 않습니다. 한 공급자의 설정을 다른 공급자에서도 사용할 수 있다고 가정하지 말고 공급자 및 SDK 문서를 확인하세요.
- 세션이 의도보다 많은 작업을 수행할 수 있음:
enableTools, 도구 정책, 제공된 기능을 검토하세요. 도구가 필요하지 않다면 비활성화한 상태로 시작하고, 워크플로에 필요한 도구만 활성화하세요. - 기록에 민감한 내용이 나타남:
readMessages,list및 관련 세션 API를 호출하는 애플리케이션 경로를 확인한 다음 적절한 권한 부여 및 보존 제어를 적용하세요. 참조 문서는 이러한 API를 제공하지만 애플리케이션의 저장 방식이나 접근 보호 기능을 지정하지는 않습니다. - 작업이 예상치 않게 계속됨: 세션에 문서화된
abort또는stop메서드를 사용하고, 애플리케이션에서 런타임 리소스 사용을 마치면 이를 정리하세요.
재사용 가능한 사전 점검 목록
ClineCore 워크플로를 활성화하기 전에 자격 증명이 서버 측에만 보관되는지, 작업 공간에 필요한 파일만 있는지, 프롬프트와 메타데이터에 비밀 정보가 포함되지 않았는지, 도구 접근이 제한되고 검토되었는지, 세션 기록의 담당자와 보존 정책이 정해졌는지, 공급자별 설정이 최신 공급자 문서와 대조되었는지 확인하세요. 디버깅할 때는 세션이 시작되었는지, 어떤 내부 요청 ID가 해당하는지 등 민감하지 않은 정보만 기록하세요. 자격 증명, 전체 프롬프트, 소스 파일은 기록하지 마세요.
ClineCore 참조 문서는 설정 및 세션 관리 기능을 제공하지만, 포괄적인 개인정보 보호를 보장하지는 않습니다. 개인정보 보호를 고려한 운영은 애플리케이션이 데이터를 제공하고 도구 접근을 제어하며 세션 기록을 보호하고 자격 증명을 처리하는 방식에 달려 있습니다.
출처
- ClineCore API 참조 문서 — API 옵션, 세션 구성, 세션 관리 메서드, 자동화 개요.
FAQ
공급자에 상관없이 사용할 수 있는 ClineCore 설정은 무엇인가요?
참조 문서는 `clientName`, `backendMode`, 도구 정책, 기능, 자동화와 같은 공통 런타임 옵션을 설명합니다. 세션 설정에는 공급자 및 모델 식별자, 자격 증명, 런타임 필드도 포함됩니다. 공급자별 엔드포인트와 매개변수의 호환성은 참조 문서에서 보장하지 않으므로 별도로 확인하세요.
Cline 프롬프트에 API 키를 넣어도 안전한가요?
아니요. 자격 증명은 신뢰할 수 있는 서버 측 설정에 보관하고 문서화된 세션 설정 방식을 통해 전달하세요. 키를 프롬프트, 메시지, 메타데이터 또는 로그에 넣지 마세요.
ClineCore가 세션 데이터를 자동으로 익명화하나요?
제공된 API 참조 문서는 익명화, 텔레메트리 보존, 세션 데이터 보호를 지정하지 않습니다. 메시지, 메타데이터, 식별자, 사용량 기록은 민감한 정보일 수 있다고 간주하고 자체 접근 제어 및 보존 정책을 적용하세요.
코딩 에이전트가 접근할 수 있는 범위를 어떻게 줄이나요?
작업에 필요한 파일만 제공하고, 가능하다면 범위가 제한된 작업 공간을 사용하며, 도구 정책과 기능을 검토하세요. 필요하지 않은 도구는 비활성화하세요. 개별 도구의 정확한 동작은 구현 방식에 따라 달라집니다.
관련 글
Guides
JSON Schema 추출을 위한 Cline OpenAI 호환 제공자 설정
Cline에서 OpenAI 호환 제공자를 설정하고, 코딩 에이전트 워크플로를 활용해 JSON Schema로 구조화된 데이터 추출을 구현하고 검증하는 방법을 알아보세요.
Guides
출처를 제시하는 문서 Q&A를 위해 Cline에서 OpenAI 호환 제공자 구성하기
Cline SDK에서 OpenAI 호환 제공자를 구성하고, 검증 가능한 출처를 반환하는 문서 질의응답 워크플로를 만들어 보세요.
Guides
사람의 승인을 거치는 지원 티켓 분류를 위한 OpenAI 호환 Provider와 Cline 연동
OpenAI 호환 Provider와 OneMux를 사용하도록 Cline을 구성해 고객 지원 티켓을 분류하되, 고객에게 전달되는 모든 작업은 사람의 승인 뒤에 실행되도록 설정하는 방법을 알아봅니다.
Guides
검증된 리포지토리 변경을 위해 OpenAI-Compatible Provider로 Cline 구성하기
OpenAI-compatible provider로 Cline을 구성하고 코딩 워크플로에 연결한 뒤 테스트로 리포지토리 변경 사항을 검증하는 방법을 설명합니다. 사전 요구 사항, TypeScript 구성, 제한 사항 및 문제 해결 방법을 포함합니다.