Skip to content

chore: isolate public repo from internal MCP connectors (HOT-15476) - #1735

Open
marcin-kordas-hoc wants to merge 1 commit into
handsontable:developfrom
marcin-kordas-hoc:chore/hot-15476-ai-policy-isolation
Open

chore: isolate public repo from internal MCP connectors (HOT-15476)#1735
marcin-kordas-hoc wants to merge 1 commit into
handsontable:developfrom
marcin-kordas-hoc:chore/hot-15476-ai-policy-isolation

Conversation

@marcin-kordas-hoc

@marcin-kordas-hoc marcin-kordas-hoc commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Context

Handsoncode's 2026-08-03 AI usage policy update (HOT-15476, due 2026-08-14) extends the Information Security Policy with rules for AI tool usage: a 4-tier data classification (Public/Internal/Confidential/Restricted) and a requirement that AI sessions never mix Confidential/Restricted company data with anything that can reach a public destination.

This repo's origin/upstream both point directly at the public github.com/handsontable/hyperformula, and this Claude Code account also carries claude.ai cloud MCP connectors (ClickUp, Gmail, Slack, Fireflies, Google Drive, Google Calendar) that attach to any project directory regardless of which repo is checked out. There was no technical control preventing a session in this repo from also reaching those connectors.

Changes

  • .claude/settings.json (new, committed so it applies to anyone working in this repo): denies the MCP tool patterns for those six connectors, so a Claude Code session here cannot reach them even if connected at the account level. Verified live — writing this file immediately dropped those connectors' tools from the active session.
  • .gitignore:
    • ignore .infisical.json (contains an Infisical workspaceId — infrastructure inventory, which Handsoncode's data-classification matrix keeps out of shared/public repos)
    • ignore the personal/local parts of .claude/ (settings.local.json, worktrees/, scheduled_tasks.lock) while keeping settings.json itself trackable, since that's the guardrail this PR adds.

No behavior change to HyperFormula itself — this is tooling/process hygiene only.


Note

Low Risk
Tooling and ignore-list only; HyperFormula behavior is unchanged and the changes reduce accidental exposure of internal MCP or secrets in a public repo.

Overview
Policy guardrails for AI work in the public HyperFormula repo — no library/runtime changes.

A new .claude/settings.json is committed so anyone opening this repo in Claude Code gets a shared permissions.deny list for six claude.ai MCP integrations (ClickUp, Gmail, Google Calendar/Drive, Slack, Fireflies). Sessions here cannot invoke those tools even when the account still has them connected elsewhere.

.gitignore now excludes .infisical.json (workspace linkage / infra inventory) and personal Claude paths (settings.local.json, worktrees/, scheduled_tasks.lock) while leaving settings.json trackable as the team-wide control.

Reviewed by Cursor Bugbot for commit d07ea18. Bugbot is set up for automated code reviews on this repo. Configure here.

Handsoncode's 2026-08-03 AI usage policy update (HOT-15476) requires that
AI sessions never mix Poufne/Ograniczone company data (ClickUp, Gmail,
Slack, Fireflies, Google Drive/Calendar) with anything that can reach a
public destination. This repo's origin/upstream both point straight at
the public github.com/handsontable/hyperformula with no private staging,
so the isolation has to be enforced at the tool-permission level instead.

- .claude/settings.json: deny the account-level claude.ai MCP connector
  tool patterns (ClickUp/Gmail/Slack/Fireflies/Google Drive/Calendar) so
  a Claude Code session working in this directory cannot reach them even
  though they may be connected at the account level. Verified live: the
  connectors dropped out of the running session the moment this file was
  written.
- .gitignore: stop tracking .infisical.json (Infisical workspaceId — infra
  inventory, personal-private-repos-only per Handsoncode's classification
  matrix) and the personal/local parts of .claude/ (settings.local.json,
  worktrees/, scheduled_tasks.lock), while keeping settings.json trackable
  since it's the repo-wide guardrail.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant