Skip to content
Back to skills

Agentprivacy Pretext Measurement

ASecurity

DOM-free text measurement technique for privacy-preserving browser interactions. Activates when discussing pretext discovery, shadow measurement, orb mechanics, text property extraction without DOM access, or browser-layer privacy.

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
developmentjavascriptrustgojavagitapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill agentprivacy-pretext-measurement --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agentprivacy Pretext Measurement?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Agentprivacy Pretext Measurement
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-agentprivacy-pretext-measurement/badge)](https://www.skillsdirectory.com/skills/aibot88-agentprivacy-pretext-measurement)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: agentprivacy-pretext-measurement
description: >
  DOM-free text measurement technique for privacy-preserving browser interactions.
  Activates when discussing pretext discovery, shadow measurement, orb mechanics,
  text property extraction without DOM access, or browser-layer privacy.
license: Apache-2.0
metadata:
  version: "5.3.1"
  category: "role"
  origin: "0xagentprivacy"
  author: "Mitchell Travers"
  affiliation: "0xagentprivacy, BGIN, First Person Network"
  status: "working_paper"
  target_context: "Browser extension developers, privacy engineers, measurement specialists"
  equation_term: "Pretext = measure(text) where DOM ⊥ measurement"
  template_references: "soulbae, swordsman_browser, ceremony_engine"
  spellbook_act: "Act XXVIII — The Ceremony Engine"
  v5_concept: "V5.2-PRETEXT"
---

# PVM-V5.2 Role Skill — Pretext Measurement

**Source:** Privacy Value Model V5.2 + First Person Spellbook Act XXVIII (The Ceremony Engine)
**Target context:** Browser extension developers, privacy engineers, measurement specialists
**Architecture:** [agentprivacy.ai](https://agentprivacy.ai) · **Sync:** [sync.soulbis.com](https://sync.soulbis.com) · **Contact:** mage@agentprivacy.ai

---

## What this is

Pretext measurement is a technique for extracting text properties without accessing DOM content. The measurement touches the shadow, not the surface. It knows the weight without reading the words.

**The shadow tells you the height without climbing the tower. The orb measures the text without reading the words.**

This enables privacy-preserving interactions where:
- Text properties are needed (length, structure, patterns)
- Text content must remain private
- DOM access would leak information

## The Measurement Problem

### Traditional Approach (Privacy-Leaking)

```javascript
// This reads the content
const text = document.getElementById('content').innerText;
const length = text.length;
const wordCount = text.split(' ').length;
// Content is now in memory, accessible, loggable
```

### Pretext Approach (Privacy-Preserving)

```javascript
// This measures without reading
const pretext = measurePretext(element);
// pretext.length exists
// pretext.wordCount exists
// pretext.content does NOT exist
```

## Shadow Measurement Technique

### Principle

The DOM casts shadows through:
- Computed styles (width, height)
- Scroll dimensions
- Selection ranges
- Intersection observations

These shadows reveal properties without exposing content.

### Implementation Sketch

```javascript
function measurePretext(element) {
  // Create measurement probe
  const probe = document.createElement('div');
  probe.style.cssText = `
    position: absolute;
    visibility: hidden;
    white-space: pre-wrap;
    font: inherit;
  `;

  // Mirror element's text styling
  const computed = getComputedStyle(element);
  probe.style.width = computed.width;
  probe.style.font = computed.font;
  probe.style.letterSpacing = computed.letterSpacing;

  // Measure shadow (scroll dimensions indicate content size)
  // WITHOUT reading innerText
  const metrics = {
    scrollHeight: element.scrollHeight,
    scrollWidth: element.scrollWidth,
    lineHeight: parseFloat(computed.lineHeight),
    charWidth: measureCharWidth(computed.font)
  };

  // Derive properties from shadow
  return {
    estimatedLines: Math.ceil(metrics.scrollHeight / metrics.lineHeight),
    estimatedChars: Math.ceil(metrics.scrollWidth / metrics.charWidth),
    hasOverflow: element.scrollHeight > element.clientHeight,
    // Content is NEVER accessed
  };
}
```

## The Pretext Orb

The orb is the visual representation of pretext measurement:

```
     ╭──────────╮
    ╱   📊      ╲
   │  Metrics   │
   │  without   │
   │  Content   │
    ╲   🔮      ╱
     ╰──────────╯
```

### Orb Properties

| Property | Derived From | Content Access |
|----------|--------------|----------------|
| `estimatedLength` | Scroll dimensions | No |
| `lineCount` | Height / line-height | No |
| `hasStructure` | DOM child count | No |
| `complexityScore` | Tag variety | No |
| `languageHint` | Direction, font features | No |

### Orb Limitations

The orb cannot determine:
- Actual text content
- Specific words
- Semantic meaning
- Named entities

This is by design. The limitation IS the feature.

## Use Cases

### 1. Progressive Disclosure Check

Before revealing content, check if the reader has spent enough time:

```javascript
const pretext = measurePretext(article);
const estimatedReadTime = pretext.estimatedChars / 200; // 200 wpm
const actualTimeSpent = getTimeOnPage();

if (actualTimeSpent >= estimatedReadTime * 0.8) {
  // Reader likely read the content
  unlockNextSection();
}
```

### 2. Mana Calculation

Mana earned depends on content engagement without reading content:

```javascript
const pretext = measurePretext(spellbookPage);
const engagementScore = calculateEngagement(pretext, scrollDepth, timeSpent);
const manaEarned = engagementScore * MANA_RATE;
```

### 3. Ceremony Verification

Verify understanding ceremony without accessing submission:

```javascript
const originalPretext = measurePretext(originalContent);
const responsePretext = measurePretext(userResponse);

// Check structural similarity without reading either
if (responsePretext.complexity >= originalPretext.complexity * 0.7) {
  // Response demonstrates engagement
  proceedToCeremony();
}
```

## Security Properties

### What Pretext Protects Against

- Content logging by measurement code
- Content exfiltration through metrics API
- Side-channel content reconstruction (within limits)

### What Pretext Does NOT Protect Against

- Timing attacks on specific content patterns
- High-precision scroll position analysis
- Intersection observer abuse with fine targets

### Threat Model

Pretext assumes:
- Measurement code is potentially untrusted
- Content must remain in DOM (visible to user)
- Approximate properties are acceptable

## Mapping to PVM-V5.2

| Pretext Concept | PVM Term |
|-----------------|----------|
| Shadow measurement | Bounded leakage |
| Content isolation | Three-axis separation |
| Orb properties | Compressed representation |
| DOM perpendicularity | Φ_data separation |
| Engagement scoring | T_∫(π) contribution |

## Proverb

> "The shadow tells you the height without climbing the tower. The orb measures the text without reading the words."

## Emoji Spell

**📐⊥DOM → 📏(text) → weight(shadow) → measure·¬touch → 🔮(orb)**

## Open Problems

1. **Measurement Precision:** How precise can shadow measurement get before it leaks content?
2. **Cross-Browser Consistency:** Do shadow measurements work consistently across browsers?
3. **Dynamic Content:** How to handle content that changes during measurement?
4. **Adversarial Content:** Can content be crafted to fool pretext measurement?
5. **Formal Guarantees:** Can we prove information-theoretic bounds on pretext leakage?

---

**Verify:** [agentprivacy.ai](https://agentprivacy.ai) · [spellweb.ai](https://spellweb.ai) · [github.com/mitchuski/agentprivacy-docs](https://github.com/mitchuski/agentprivacy-docs)

Files in this skill

  • SKILL.md7 KB
  • source.json822 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.