← Blog
튜토리얼2026년 7월 9일·6분 읽기

백엔드 없이 데스크톱 앱에 라이선스 키 추가하는 방법 자체 백엔드를 만들지 않고.

데스크톱 소프트웨어를 판매한다면, 언젠가는 양심에 맡기는 시스템 이상의 것이 필요해진다 — 키를 생성하고, 기기에 묶고, 필요하면 취소할 수 있는 방법 말이다. 대부분의 개발자는 라이선싱을 아예 건너뛰거나, 주말 동안 취약한 버전을 직접 만든다. 여기 실제 코드와 함께 실용적인 방법을 소개한다.

왜 정말로 이게 필요한가

라이선스 확인 없이 데스크톱 앱을 판매한다는 것은, 설치 파일 사본을 얻은 누구나 두 번 다시 돈을 내지 않고도 영원히 사용할 수 있다는 뜻이다. 라이선스 키 확인이 절대 뚫리지 않아야 할 필요는 없다 — 그저 가벼운 공유가 가장 저항이 적은 길이 되지 않을 만큼만 문턱을 높이면서, 실제로 돈을 낸 고객에게는 매끄러운 활성화 경험을 제공하면 된다. 그것이 대부분의 인디 개발자가 실제로 넘어야 할 기준이다: 군사급 DRM이 아니라, 키가 뭔가를 의미하는 진짜 시스템 — 기기에 묶이고, 확인 가능하고, 취소 가능한 — 이지, 아무도 검증하지 않는 문자열이 아니어야 한다.

직접 만드는 것이 왜 진짜 프로젝트가 되어버리는가

유혹은 빠른 확인 로직을 대충 만드는 것이다: 하드코딩된 유효 키 목록, 또는 단순한 해시 함수를 만들고 출시하면 끝. 하지만 그건 첫 진짜 판매가 일어나기 전까지만 유효하다. 진짜 라이선싱에는 어떤 키가 존재하고 어떤 기기에서 활성화됐는지 추적하는 데이터베이스, 키가 그때그때 실시간으로 확인되고 단순히 공식으로 오프라인 검증되지 않도록 앱이 어디서든 호출할 수 있는 API, 누군가 지불 거부를 하거나 사기를 칠 때 키를 취소하는 방법, 그리고 구매 전에 체험해볼 수 있는 체험판 지원이 필요하다. 이 중 어느 것도 앱 내부에만 존재할 수는 없다 — 작정한 사용자는 오프라인 확인 로직을 그냥 패치로 제거해버릴 수 있다. 이렇게 나열해보면, "그냥 라이선스 확인만 추가하면 된다"는 것이 실제로는 당신이 이제 영원히 만들고, 호스팅하고, 유지보수해야 할 작은 백엔드 서비스가 되어버린다 — 그것도 당신의 진짜 제품이 아닌 기능을 위해서.

대안: 백엔드 프로젝트 대신 작은 호스팅 API

이것이 바로 SublimeKeys가 하는 일이다 — 라이선스 백엔드 그 자체이므로, 직접 만들 필요가 없다. 앱에 필요한 호출(activate, verify, deactivate, 그리고 체험판용 2개)이 포함된 REST API와, 제품을 만들고 판매할 때마다 수동 또는 자동으로 키를 발급할 수 있는 대시보드를 얻게 된다. 무료 플랜(제품 1개, 키 25개)이 있어서 무언가에 커밋하기 전에 전체 흐름을 테스트할 수 있고, 당신이 운영해야 할 인프라는 전혀 없다 — 라이선스 서버, 데이터베이스, 가동 시간, 이 모든 것이 이제 당신이 아니라 다른 누군가의 문제다.

연결하는 방법 — 4단계

1무료 SublimeKeys 계정을 만들고 제품을 등록한다 (API 호출 한 번, 또는 대시보드 클릭 한 번)
2판매할 때마다 키를 발급한다 — 직접 API를 호출하거나, 결제 제공업체의 웹훅을 SublimeKeys로 연결해서 그 코드를 아예 작성하지 않는다
3앱의 시작 코드에서: 첫 실행은 /activate를 호출하고 결과를 로컬에 저장하며, 이후 모든 실행은 대신 /verify를 호출한다
4테스트한다: 한 기기에서 활성화하고, 다른 기기에서 이미 사용된 키를 활성화해보고, 거부되는지 확인한다 — 그러면 전체 루프가 작동하는 것이다

실제로 얻게 되는 것

한 시간도 안 걸려서 특정 기기에 묶인 키(누구나 공유할 수 있는 단순 문자열이 아닌), 필요할 때 즉시 접근을 취소하는 방법 — 지불 거부, 사기, 환불 — 재설치로 초기화할 수 없는 선택적 7일 체험판, 원한다면 판매할 때마다 자동으로 발송되는 이메일 키까지 갖추게 된다. 이 중 어느 것도 데이터베이스 스키마를 작성하거나, 무언가를 호스팅하거나, 가동 시간을 신경 쓸 필요가 없었다 — 그 부분은 이미 처리되어 있다.

실제로 누구를 위한 것인가

Electron 앱

한 번 판매하고 자체 라이선스 서버 없이 보호하고 싶은 모든 Electron 데스크톱 앱.

🐍

Python 데스크톱 도구

PyInstaller로 패키징된 유틸리티, 이제 판매하는 내부 도구, GUI가 있는 CLI 제품.

🪟

.NET / WinForms 앱

현대적인 라이선싱 옵션 이전의 클래식 Windows 소프트웨어 — 재작성 없이 진짜 활성화 기능을 추가한다.

🎮

인디 도구 & 플러그인

자체 라이선스 백엔드를 만드는 것이 시간 낭비인 소규모 유료 유틸리티, 플러그인, 애드온.

🔁

Gumroad나 Keygen에서 이전

기존 고객을 일괄로 가져오고 설치 기반을 잃지 않으면서 새 키를 발급한다.

SublimeKeys 무료로 사용해보기 →제품 1개 · 키 25개 · 신용카드 불필요 · keys.sublimearts.io

About

Patrick Chen — Sublimearts.io의 인디 개발자. ReelNox Studio를 위해 정확히 이 라이선스 확인 코드를 작성한 후, 데스크톱 소프트웨어를 판매하는 다른 모든 인디 개발자들이 같은 문제를 처음부터 해결하고 있다는 걸 깨닫고 SublimeKeys를 만들었다.

Did you find this helpful?