4단계 안전 등급
직접 지원 backend
Player2, OpenRouter API, Ollama/KoboldCpp, 공급자의 정식 개발자 API. 제품 목적과 인증·과금 구조가 명확합니다.
공식 CLI + 제한된 adapter
공식 CLI OAuth를 사용하고 source adapter가 localhost에서 tools 없이 text completion만 호출. Claude 전용 bridge가 여기에 가깝습니다.
OAuth session API 재노출
CLIProxyAPI처럼 제3자 proxy가 소비자 session을 저장해 OpenAI-compatible endpoint로 바꿉니다. 인증정보·지원 범위·계정 위험이 커집니다.
cookie·token·출처 불명 EXE
browser cookie 추출, token 직접 복사, 계정 비밀번호 요구, source 없는 카페/Drive binary. 이 가이드에서 제외합니다.
다만 서비스가 명시적으로 지원하지 않는 자동화는 약관 해석·rate limit·제품 변경에 따라 언제든 중단될 수 있습니다. “문제없이 작동했다”는 사용자 경험은 공식 허가의 근거가 아닙니다.
서비스별 공식 범위와 불확실성
| 서비스 | 공식으로 확인 | 확인되지 않은 부분 | 판정 |
|---|---|---|---|
| Anthropic | Pro/Max의 Claude Code 로그인, Agent SDK/제3자 app 안내[7][8] | AI Influence 장시간 backend가 명시적 허용 app인지 | 경계 불명확 |
| OpenAI | Codex의 ChatGPT sign-in과 plan 사용량[29] | OAuth session을 범용 game API로 재노출 | 실험적 |
| xAI | Grok Build TUI·headless script/bot·ACP[11] | 제3자 OpenAI-compatible proxy와 AI Influence 사용 | 실험적 |
| Gemini CLI OAuth, Vertex AI API·ADC[27][33] | 개인 Gemini plan을 임의 game backend로 쓰는 bridge | CLI는 조건부 |
Anthropic의 특히 중요한 문구
현재 Consumer Terms는 Anthropic API key를 사용하거나 Anthropic이 명시적으로 허용한 경우를 제외하고 bot·script 등 자동화·비인간 방식의 서비스 접근을 금지합니다. 동시에 Claude Code와 Agent SDK 사용 문서는 공식 자동화 범위를 제공합니다.[23] 따라서 Claude Code 자체는 공식이지만 Bannerlord adapter까지 명시적으로 승인됐는지는 확인 불가입니다.
rate limit 우회, session 공유, 여러 계정 순환, 비공개 endpoint 모방, token 추출은 위험을 크게 높입니다. 경고·429·재인증 loop가 나오면 자동 재시도보다 사용 중단을 선택하세요.
이 페이지는 법률 자문이 아닙니다. 약관은 변경될 수 있으므로 실제 사용 직전에 연결된 원문을 다시 확인해야 합니다.
무엇을 보호해야 하나
| 자산 | 공격·실수 | 영향 | 방어 |
|---|---|---|---|
| OAuth refresh token | proxy·malware·cloud sync가 file 탈취 | 계정 session 악용 | 전용 user, ACL, sync/Git 제외, session 철회 |
| API key/JSON key | config·screenshot·log 노출 | 종량제 비용·Cloud 접근 | ADC/secret store, keyless 우선, budget |
| local endpoint | 0.0.0.0 bind·port forwarding | LAN/인터넷에서 무단 호출 | 127.0.0.1, firewall, no tunnel |
| 개인 파일 | CLI tool/MCP 자동 실행 | 읽기·수정·shell 실행 | tools 완전 차단, 별도 OS user |
| 게임 대화 | prompt·response logging | 개인정보·roleplay 기록 전송/보존 | debug off, log 검토·삭제, 민감정보 입력 금지 |
| 장기 save | AI 외교·모드 update·충돌 | 세계 상태·save 손상 | version 고정/backup/test save |
OAuth와 credential 안전 수칙
- CLI의 공식 명령으로 browser login을 시작합니다.
- address bar의 공식 domain과 HTTPS를 확인합니다.
- bridge console에는 비밀번호·cookie·token·2FA code를 입력하지 않습니다.
- OAuth callback port를 router나 firewall에 공개하지 않습니다.
- authentication cache directory를 OneDrive·Dropbox·Git에서 제외합니다.
- 사용하지 않을 때 provider의 공식 session/connected-app 화면에서 철회합니다.
- bridge source가 credential file을 읽거나 외부 server로 전송하는지 검색합니다.
browser devtools에서 cookie/session을 추출해 붙여 넣는 방식은 phishing·탈취·session 재사용 위험이 높고, 공식 OAuth flow의 보호를 우회합니다.
Local server는 정말 local이어야 합니다
# 안전
127.0.0.1:11434 # Claude/Gemini Ollama bridge
127.0.0.1:5100 # GameMaster
127.0.0.1:8317 # CLIProxyAPI
# 피해야 함
0.0.0.0:11434
[::]:8317
Cloudflare Tunnel / ngrok / router port forwardingCLIProxyAPI 예제 config의 기본 host: ""는 모든 interface bind를 뜻합니다. 반드시 host: "127.0.0.1"로 바꿉니다.[13]
실행 전후 확인
Get-NetTCPConnection -State Listen |
Where-Object LocalPort -in 11434,5100,8317 |
Format-Table LocalAddress,LocalPort,OwningProcessLocalAddress가 127.0.0.1이 아니면 즉시 종료합니다. 게임 후에는 관련 listener가 없어야 합니다.
Prompt·log·이미지·음성 데이터
cloud backend를 쓰면 NPC 대화뿐 아니라 system prompt, 캐릭터 정보, 관계·기억, 세계 사건, custom world.txt가 provider로 전송될 수 있습니다. Player2 image·TTS·STT를 켜면 장면 설명, NPC portrait·외형, 생성할 대사, microphone audio도 추가로 전송될 수 있습니다. 실제 범위는 AI Influence와 provider 설정에 따라 달라집니다.
- 실명·주소·email·개인 메모를 world 설정이나 NPC 대화에 넣지 않습니다.
- custom 캐릭터가 실제 인물의 얼굴·목소리를 모방하지 않게 하고 공유 전 권리·동의를 확인합니다.
- microphone은 STT 사용 중에만 활성화하고 변환된 text를 확인한 뒤 전송합니다.
- GameMaster/bridge의 debug log와 request body logging을 끕니다.
- 공유할 crash report에서 Authorization header, API key, account ID, prompt를 지웁니다.
- Claude/Gemini의 global instruction과 MCP가 NPC prompt에 섞이지 않도록 전용 환경을 사용합니다.
- 카페의 Vertex Python 예제처럼 응답 일부를 출력하는 code는 privacy가 필요하면 해당 logging을 제거합니다.[30]
Codex $imagegen이나 Grok 앱 image 기능이 공식이어도 OAuth session을 제3자 game endpoint로 재노출하는 것이 공식 지원된다는 뜻은 아닙니다. 내장 Player2 또는 별도 과금되는 정식 Images/TTS API를 사용하세요.
한도와 비용
개인 plan
고정 월요금이어도 무제한이 아닙니다. 5시간/주간 shared limit, model별 가중치, fair use가 적용될 수 있습니다. AI Influence의 병렬 외교·사건 요청은 한도를 빠르게 소모합니다.
개발자 API
token·request 기준 종량제입니다. OpenRouter·Vertex AI·Anthropic/OpenAI/xAI API는 개인 app 구독과 별도입니다. spend limit·budget alert를 먼저 설정합니다.
- 처음에는 빠른/작은 model, dynamic events off, diplomacy off로 30분 시험합니다.
- Battle Shout ambient chatter와 많은 병사 반응은 추가 호출을 유발합니다.
- 429에서 exponential retry를 무한히 돌리지 않습니다.
- 무료 tier의 현재 quota를 “영구 무료·무제한”으로 표현하지 않습니다.
이 정적 가이드와 secret
HTML·CSS·JavaScript와 Git history는 공개될 수 있습니다. API key·OAuth token·service-account JSON·CLIProxyAPI auth directory·실제 local key를 절대 넣지 않습니다.
# 공개 repo에 올리지 않을 예시
.env
.env.*
auths/
.cli-proxy-api/
.claude/
.gemini/
*.pem
*service-account*.json
config.local.yaml
settings.local.json이 사이트에는 credential 입력 form이나 browser localStorage에 key를 저장하는 기능을 넣지 않았습니다. code 예시의 값은 placeholder뿐입니다.
최종 결정표
| 원하는 것 | 권장 | 피할 것 |
|---|---|---|
| 가장 안전 | Ollama/KoboldCpp 또는 Player2 | 개인 session proxy |
| cloud 품질+명확한 계약 | 정식 API + spend limit | 구독을 API로 오인 |
| Claude 구독 실험 | tools off 전용 source bridge, localhost | 주 account·장시간 무감시 |
| ChatGPT/Grok 구독 실험 | 별도 account·source build·짧은 test | production save·multi-account rotation |
| Gemini | 공식 API/Vertex ADC 또는 tools-deny CLI | --yolo, JSON key 방치 |