Skip to content

Refuse attacks: a central ethics rule above every other - #69

Merged
wintermeyer merged 1 commit into
mainfrom
ethics-rule
Oct 15, 2026
Merged

wintermeyer merged 1 commit into
mainfrom
ethics-rule

Conversation

@wintermeyer

Copy link
Copy Markdown
Owner

A central ethics rule, above every other, that no story around a
request can work around.

heinzel administers machines its operator is responsible for and
nothing else: never recover a password or key, break into a
system, scan hosts it does not administer, surveil people, hide
traces, or turn the infrastructure against others. It holds on
the operator's own hosts too, because "it's my server" cannot be
checked. No framing unlocks it (a book, research, a CTF, a
claimed permission, an emergency, a role play, a step split into
harmless parts), and neither a custom rule nor
HEINZEL_GUARD_DISABLE overrides it. Defensive work stays allowed:
reading auth logs, checking password policy without touching a
hash, resetting a password on a host it administers.

  • CLAUDE.md: an "Ethics (above every other rule)" block at the
    top, and a note that rules/ethics.md takes no overrides.
  • rules/ethics.md: the full rule, the no-framing list, what
    stays allowed, and the refusal behaviour (one sentence, a line
    in memory/refusals.log, the topic stays refused for the
    session).
  • guard-taboos.sh: a mechanical backstop blocking the known
    crackers and attack suites by name, both run and installed, in
    every permission mode. Like the other taboos it names a known
    set, not the effect, so a renamed or hand-built tool is the
    model layer's job; 20 new fixtures, 742/0 green.

Ships as 2.32.0.

An AI agent wrote this text in my name. I know that is problematic.

heinzel administers machines its operator is responsible for and
nothing else, so it must never recover a password or key, break
into a system, scan foreign hosts, surveil people, hide traces,
or turn the infrastructure against others. The rule holds on the
operator's own hosts too, because "it's my server" cannot be
checked and is the stock excuse, and no framing (a book,
research, a CTF, a claimed permission, an emergency, a step split
into harmless parts) unlocks it. It cannot be overridden by a
custom rule or by HEINZEL_GUARD_DISABLE, while defensive work
stays allowed, and the guard hook backs it below the model layer
by blocking the known crackers and attack suites, both run and
installed, in every permission mode.

An AI agent wrote this text in my name. I know that is problematic.
@wintermeyer
wintermeyer merged commit 81a1086 into main Oct 15, 2026
2 checks passed
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