Voicebar
음성 우선 Android 키보드, Gboard와 함께 사용 음성 입력 후 정리된 메시지가 입력란에 들어갑니다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기KyNotes: end-to-end encrypted notes with text and canvas
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗KyNotes is a browser-based notebook for encrypted text, handwriting, attachments and tasks, with shared team notebooks. Content is decrypted in the browser; an administrator manages accounts and the service rather than reading people’s notes.
Start here: Standalone installation, deployment settings, SSO, complete recovery. Local administrator and everyday accounts work without KyIdentity. A complete backup needs both the sealed capsule and a separate ciphertext blob mirror.
KyNotes stores encrypted notes and attachments; browsers own content decryption.
See deployment for setup and configuration, including the COMPOSE_FILE
line a source build must set so docker compose never swaps in the published image.
See SSO setup and upgrade for session-aware logout and the required re-login/re-pairing of linked accounts after migration 0016.
Administrators can pin a recovery public key, pair KyRecovery, schedule backups, retain local sealed copies, download capsules and run synthetic restore drills. Capsules hold the database and deployment secrets, while ciphertext blobs require separate recovery. Read the restore runbook before relying on a backup.
To check that a release image came from this repository's release workflow, and to rebuild its binary to the same bytes, see verifying releases. The security argument as a whole is in the assurance case; key sizes and the optional strong-key profile are in docs/STRONG-CRYPTO.md.
TLS protects the public key received at pairing, the deposit token and receipts even though the capsule is sealed. Pin the suite public key by hand or compare its fingerprint out of band. A product process never holds recovery private keys or custodian shares.
Local plaintext maintenance commands are copy-data-dir --out and
restore-data-dir --in; they require a stopped service. The sealed recovery commands are
deposit, export-capsule --out, backup-drill, and restore --in --to (shares on stdin).
deposit and backup-drill also work while the server runs (docker exec); use the admin
UI for the other operations then.
Ciphertext blobs have their own mirror: configure KYNOTES_BLOB_TARGET, then use Admin
Mirror now, scheduled backups, or the offline mirror-blobs --config PATH command.
test-blob-target verifies connectivity; fetch-blobs restores missing/corrupt ciphertext
after capsule restore. See deployment for
S3, pinned SFTP, SMB and local-mount settings and restore for the order.
SFTP destinations need strong keys and modern negotiation; read the deployment guide before
upgrading an old target or selecting legacy SMB/NTLM compatibility.
GET /healthz is public ky.health/1 JSON. It returns 200 when startup is
ready and SQLite responds to a ping, or 503 when either check fails. The
shared handler caches each evaluation for five seconds and bounds each check
to two seconds. Its response exposes fixed check names and statuses, never
database errors or user data. GET /livez preserves the former alive-only
200 {"status":"ok"} response. GET /readyz retains its startup-readiness
response. A router created without a database checks startup only.
Use Go matching go.mod and Node 26 as pinned by CI. From the repository root:
npm ci --prefix web
npm test --prefix web
npm run build --prefix web
go build ./...
go vet ./...
go test -race -count=1 ./...
These checks are not the complete release gate. CI also runs browser regressions, fuzz checks, the Docker/installer probe and vulnerability checks; see the workflow. Browser fixtures do not prove a live KyIdentity rollout or complete recovery. Test the real blob mirror and actual capsule-plus-blob restore separately before relying on them.
KyNotes Server is released under the MIT License.