github re-analysis due

JakubAnderwald/drafto

github

Create, read, search, and organize your Drafto notes and notebooks.

maintainer
JakubAnderwald
license
first seen
2026-06-03
last seen
2026-06-03
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport streamable-http · http verified reported listed in the official MCP registry counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 12bfba8 · analyzer v17 · 3d ago

skills & prompt files 1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 11

  • fs JakubAnderwald-drafto-12bfba8/apps/desktop/scripts/post-release-notes.mjs :16 import { readFileSync } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/apps/mobile/plugins/with-ios-swift-concurrency.js :2 const fs = require("fs");
  • fs JakubAnderwald-drafto-12bfba8/apps/mobile/scripts/post-release-notes.mjs :22 import { readFileSync } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/factory-state.mjs :36 import { promises as fs } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/is-main.mjs :14 import { realpathSync } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/setup-zoho-oauth.mjs :25 import { promises as fs } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/state.mjs :57 import { promises as fs } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/worktree-cli.mjs :29 import { existsSync, realpathSync } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/zoho-auth.mjs :19 import { promises as fs, unlinkSync } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/lib/zoho-cli.mjs :73 import { promises as fs } from "node:fs";
  • fs JakubAnderwald-drafto-12bfba8/scripts/migration-stats.mjs :23 import { promises as fs } from "node:fs";

shell / exec 5

  • shell JakubAnderwald-drafto-12bfba8/scripts/comment-released-issues.mjs :41 import { execFile } from "node:child_process";
  • shell JakubAnderwald-drafto-12bfba8/scripts/lib/factory-project.mjs :49 import { execFile } from "node:child_process";
  • shell JakubAnderwald-drafto-12bfba8/scripts/lib/github-sync.mjs :37 import { execFile } from "node:child_process";
  • shell JakubAnderwald-drafto-12bfba8/scripts/lib/run-claude.mjs :25 import { spawn as nodeSpawn } from "node:child_process";
  • shell JakubAnderwald-drafto-12bfba8/scripts/lib/worktree-cli.mjs :27 import { spawnSync } from "node:child_process";

network 25

  • net JakubAnderwald-drafto-12bfba8/apps/desktop/scripts/post-release-notes.mjs :93 const buildsRes = await fetch(
  • net JakubAnderwald-drafto-12bfba8/apps/desktop/src/db/sync.ts :143 const localNotebooks = await database.get("notebooks").query().fetch();
  • net JakubAnderwald-drafto-12bfba8/apps/desktop/src/hooks/use-network-status.ts :24 NetInfo.fetch()
  • net JakubAnderwald-drafto-12bfba8/apps/desktop/src/lib/data/attachment-queue.ts :90 // Read file bytes natively via RNFS — React Native's fetch() with file://
  • net JakubAnderwald-drafto-12bfba8/apps/mobile/app/(tabs)/index.tsx :107 .fetch();
  • net JakubAnderwald-drafto-12bfba8/apps/mobile/app/(tabs)/trash.tsx :65 .fetch();
  • net JakubAnderwald-drafto-12bfba8/apps/mobile/scripts/post-release-notes.mjs :66 const res = await fetch("https://oauth2.googleapis.com/token", {
  • net JakubAnderwald-drafto-12bfba8/apps/mobile/src/hooks/use-network-status.ts :23 NetInfo.fetch().then(handleStateChange);
  • net JakubAnderwald-drafto-12bfba8/apps/mobile/src/lib/data/attachment-queue.ts :102 // Read file bytes natively via expo-file-system — React Native's fetch()
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/app/(app)/admin/admin-user-list.tsx :23 const response = await fetch("/api/admin/approve-user", {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/app/sentry-example-page/page.tsx :27 const response = await fetch("/api/sentry-example-api");
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/app/settings/page.tsx :27 const res = await fetch("/api/api-keys");
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/editor/note-editor.tsx :40 const urlResponse = await fetch(`/api/notes/${noteId}/attachments/upload-url`, {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/editor/use-attachment-url-resolver.ts :18 const response = await fetch("/api/attachments/resolve-url", {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/import/import-evernote-dialog.tsx :82 const res = await fetch("/api/import/evernote", {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/import/import-ticktick-dialog.tsx :70 const res = await fetch("/api/import/ticktick", {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/layout/app-shell.tsx :280 const res = await fetch(`/api/notebooks/${selectedNotebookId}/notes`, {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/notebooks/notebooks-sidebar.tsx :51 fetch("/api/notebooks")
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/notes/note-editor-panel.tsx :44 const promise = fetch(`/api/notes/${noteId}`).then((res) => {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/notes/note-list.tsx :44 const promise = fetch(`/api/notebooks/${notebookId}/notes`)
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/notes/trash-list.tsx :34 const promise = fetch("/api/notes/trash")
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/components/search/search-overlay.tsx :76 const res = await fetch(`/api/notes/search?q=${encodeURIComponent(trimmed)}`, {
  • net JakubAnderwald-drafto-12bfba8/apps/web/src/hooks/use-auto-save.ts :32 const res = await fetch(`/api/notes/${noteId}`, {
  • net JakubAnderwald-drafto-12bfba8/scripts/lib/setup-zoho-oauth.mjs :85 const tokenRes = await fetch(`https://${hosts.accounts}/oauth/v2/token`, {
  • net JakubAnderwald-drafto-12bfba8/scripts/migration-stats.mjs :83 const resp = await fetch(url, {

secrets 5

  • secrets JakubAnderwald-drafto-12bfba8/apps/desktop/scripts/post-release-notes.mjs :57 const keyId = process.env.ASC_API_KEY_ID;
  • secrets JakubAnderwald-drafto-12bfba8/apps/mobile/app.config.ts :59 supabaseAnonKey: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY,
  • secrets JakubAnderwald-drafto-12bfba8/apps/mobile/scripts/post-release-notes.mjs :82 process.env.GOOGLE_PLAY_SERVICE_ACCOUNT_KEY ||
  • secrets JakubAnderwald-drafto-12bfba8/apps/web/src/env.ts :26 CRON_SECRET: process.env.CRON_SECRET,
  • secrets JakubAnderwald-drafto-12bfba8/scripts/lib/zoho-auth.mjs :28 process.env.ZOHO_TOKEN_CACHE_PATH ??

tool registrations 1

  • list_notebooks JakubAnderwald-drafto-12bfba8/apps/web/src/app/api/mcp/route.ts :25

declared dependencies 8

  • @commitlint/cli@^20.5.0
  • @commitlint/config-conventional@^20.5.0
  • husky@^9.1.7
  • lint-staged@^16.4.0
  • prettier@^3.8.3
  • prettier-plugin-tailwindcss@^0.8.0
  • tsx@^4.22.3
  • turbo@^2.9.14