본문으로 건너뛰기
cronable
보안과 통제

당신의 인프라. 당신의 데이터. 당신의 키.

Cronable은 당신 자신의 스택에서 신뢰받는 일부처럼 실행되도록 만들어졌습니다. 당신의 자동화, 시크릿, 기록을 어떻게 당신의 통제 아래 두는지 정확히 알려 드립니다.

설계부터 온프레미스

Cronable은 당신 자신의 머신에 설치됩니다 — Mac이나 Windows 데스크톱 앱으로, 또는 systemd/launchd 아래에서 실행되는 서버로요. SaaS 등급도, 클라우드 의존성도 없습니다. 엔진의 정기적인 아웃바운드 호출은 당신의 구독을 확인하고 간단한 작업 수와 사용자 수를 보고하는 주기적인 라이선스 확인과, 서명된 새 릴리스에 대한 확인입니다. 그리고 당신이 켠 경우에만, 수신 webhook이나 원격 제어를 위해 Cronable의 호스팅된 릴레이로 나가는 연결이 이루어집니다. 당신의 워크로드 — 작업 정의, 시크릿, 실행, 출력 — 는 상자에 머무르며 절대 저희에게 전송되지 않습니다. 유일한 예외는 활성 원격 제어 세션입니다: 그 대시보드 트래픽은 저희의 엣지를 거쳐 중계되며(여느 호스팅 프록시와 같은 수준의 신뢰), 당신 자신의 머신까지의 종단간 암호화는 계획된 Enterprise 옵션입니다.

저장 시 암호화되는 시크릿과 자격 증명

시크릿 값은 당신 자신의 암호화 키에서 파생된 키(설치마다 임의 솔트를 쓰는 scrypt)로 AES-256-GCM 암호화됩니다. 유형이 지정된 자격 증명 — API 키, 베어러 토큰, 기본 인증, 맞춤 헤더, Postgres 연결 문자열 — 은 같은 암호화 저장소에 있으며 이름으로 참조되고, 작업 파일에 붙여 넣지 않습니다. 아무것도 git에 기록되지 않고, 아무것도 당신의 컴퓨터를 떠나지 않습니다. 키는 따로 백업하세요 — 잃어버리면 설계상 시크릿을 복구할 수 없습니다.

모든 로그와 스트림에서 마스킹

해석된 시크릿과 자격 증명 값은 로그 파일, 작업 출력, 실시간 로그 스트림 전반에서 ‘***’로 가려집니다 — 값이 스트리밍 청크에 걸쳐 나뉘어 있을 때도요. 당신의 장비에서 실행되는 것은 당신의 장비에 머무릅니다.

인증과 최소 권한

웹 콘솔은 argon2id 비밀번호 해싱과 무차별 대입 잠금을 갖춘 사용자별 로그인을 요구합니다. 엔진은 기본적으로 localhost에 바인딩되며 전용 저권한 사용자로 실행되도록 만들어졌습니다. 서버 간 호출자는 비공개 베어러 토큰을 쓰고; 브라우저는 수명이 짧은 세션 쿠키를 씁니다 — 그리고 로그아웃하거나 세션이 만료되면 열려 있던 실시간 로그 스트림까지 몇 초 안에 닫힙니다. 비밀번호는 또한 강도 검사(최소 길이와 추측 가능성 테스트)를 통과해야 하며, 약하거나 쉽게 추측되는 비밀번호는 거부됩니다. 선택적 2단계 인증(TOTP)은 Google Authenticator 같은 인증 앱의 일회용 코드를 추가하고, 기기를 분실한 경우를 대비한 복구 코드도 제공합니다. 2단계 인증은 원격 액세스 사용에 필수이므로, 이를 활성화한 운영자만 호스팅 대시보드에서 머신을 열 수 있습니다.

역할 기반 팀 액세스

웹 콘솔은 다중 사용자를 지원하며, 권한 순으로 네 가지 역할이 있습니다 — 뷰어(읽기 전용), 편집자(작업·시크릿·실행 작성), 관리자(사용자·역할·설정 관리), 그리고 설치 시 만들어지는 첫 계정인 소유자입니다. 관리자는 설정 → 사용자에서 사용자를 추가·삭제하고, 각 사용자의 역할을 지정하며, 비밀번호나 2단계 인증 기기를 재설정하고, 액세스를 취소할 수 있습니다 — 그래서 떠나는 팀원은 즉시 액세스를 잃고 아무도 로그인을 공유하지 않습니다. 더 엄격하게 잠근 설치에서는 옵션을 추가로 켤 수 있습니다: 실행 권한 계층화는 명령을 실행하는 작업을 만들 수 있는 사람을 제한하고, 변경 승인은 이중 검토를 더해, 스테이징된 작업이나 시크릿 변경이 적용되기 전에 두 번째 관리자가 승인해야 합니다.

OIDC를 통한 싱글 사인온

당신의 ID 공급자 — Okta, Entra ID, Google, Keycloak — 를 PKCE와 완전한 ID 토큰 검증을 갖춘 OIDC 인증 코드 흐름으로 연결하세요. SSO 로그인은 기존 로컬 계정에 매핑되어야 합니다: 아무것도 자동 프로비저닝되지 않으며, 공급자 오류는 원시 리디렉션이 아니라 고정된 친절한 메시지로 표시됩니다.

실제로 읽을 수 있는 감사 추적

로그인과 실패한 시도, 시크릿과 자격 증명 변경, 작업 편집, 설정 업데이트, git 동기화가 추가 전용 감사 추적에 기록됩니다 — 이름과 메타데이터만, 값은 절대 아님 — 콘솔의 설정 → 감사에서 바로 보고 필터링할 수 있습니다.

강화된 인바운드 webhook

인바운드 webhook은 당신의 서버가 바깥으로 여는 연결을 통해 저희의 라이선스로 통제되는 릴레이를 거쳐 당신의 daemon에 닿으므로, 포트를 노출할 일이 절대 없습니다 — 직접 그렇게 하기로 선택하지 않는 한. 각 훅은 당신의 라이선스에 묶여 — URL을 알더라도 다른 어떤 고객도 그것을 차지하거나 이벤트를 받을 수 없습니다 — SHA-256 해시로만 저장되고 상수 시간으로 확인되는 훅별 토큰으로 보호됩니다. URL에는 최소 32개의 추측 불가능한 문자와 그 토큰이 필요하며; 틀리거나, 없거나, 비활성화되거나, 알 수 없는 경우 모두 동일한 일반 401을 반환하고, 한 IP에서 반복되는 탐색은 일시적으로 차단됩니다 — 그래서 나열할 것도, 무차별 대입할 것도 없습니다. 토큰은 생성 시 한 번만 공개되며 클릭 한 번으로 교체할 수 있습니다. 인바운드 페이로드가 저희 서버를 전혀 거치지 않기를 원한다면, 릴레이를 건너뛰고 직접 HTTPS 엔드포인트를 운영할 수 있습니다 — 실제로 포트를 여는 경우는 이때뿐이며, 그러면 webhook이 당신의 머신으로 곧장 도착합니다.

git으로 감사되는 되돌릴 수 있는 기록

모든 작업 정의는 당신이 소유한 git 저장소의 파일입니다. 각 변경은 커밋이며 — 완전히 비교·귀속·되돌리기가 가능합니다. 당신의 작업 기록은 팀이 이미 쓰는 도구로 감사할 수 있습니다. 양방향 동기화를 위해 저장소를 연결하면 Cronable은 비공개 저장소만 허용합니다. 공개 저장소는 거부하고, 연결된 저장소가 나중에 공개로 전환되면 동기화를 중단합니다. 따라서 작업 정의가 공개적으로 읽힐 수 있는 상태가 되는 일은 결코 없습니다.

신뢰 경계에 대해 정직하게

Cronable의 일은 당신을 대신해 명령, AI 에이전트, HTTP를 실행하는 것이므로, 장비 위의 셸처럼 다루세요. 표현식은 강화된 경계가 아니라 실수 방지 샌드박스에서 실행됩니다 — 절대 신뢰할 수 없는 입력을 넣지 마세요. 저희는 최소 권한과 합리적인 네트워크 격리로 배포하도록 돕습니다.

당신의 방화벽 뒤에서 실행하세요.

충족해야 할 보안 요건이 있나요? 환경을 알려 주시면 배포, 강화, 접근 통제를 함께 짚어 드리겠습니다.

Cronable, 그리고 그것은 절대 당신의 장비를 떠나지 않습니다.