Chapter 6: Privacy Protection

"Hongik Ingan: Your privacy is your right, Aunt protects you."

6.1 Privacy Risks on Social Media

Common Privacy Exposures
========================

What you share often reveals:
  - Your home address (background in photos)
  - Your daily routine (posting times)
  - Your workplace (tagged locations)
  - Your phone number (accidentally posted)
  - Your travel plans (real-time updates)
  - Faces of others (without consent)

Photo metadata reveals:
  - GPS coordinates
  - Device information
  - Date and time
  - Camera settings

Aggregated data reveals:
  - Your political views
  - Your health conditions
  - Your financial status
  - Your relationships

6.2 Aunt (AIR-SHIELD) Integration

WIA-SOCIAL Privacy Guard
========================

WIA-SOCIAL integrates with Aunt (AIR-SHIELD):

import { WIASocial } from '@anthropic/wia-social';
import { AirShield } from '@anthropic/wia-air-shield';

const social = new WIASocial({
  privacy: {
    airShield: {
      enabled: true,
      mode: 'balanced'  // 'balanced' | 'fortress' | 'paranoid'
    }
  }
});


Protection Modes
================

Balanced:
  - Warns about obvious risks
  - Strips metadata by default
  - Suggests privacy improvements
  - Non-intrusive

Fortress:
  - Active scanning before every post
  - Blocks high-risk content
  - Requires confirmation for sensitive data
  - Notifies about privacy issues

Paranoid:
  - Maximum protection
  - All faces blurred by default
  - All locations fuzzed
  - End-to-end encryption required
  - May affect usability

6.3 Pre-Post Privacy Scan

Automatic Scanning
==================

// Before posting, scan for risks
const scan = await social.privacy.scanContent({
  text: 'Check out my new house at 123 Main Street!',
  media: [housePhoto]
});

Result:
{
  safe: false,

  risks: [
    {
      type: 'address_exposure',
      severity: 'high',
      detail: 'Physical address detected: 123 Main Street',
      recommendation: 'Remove or generalize address'
    },
    {
      type: 'location_in_media',
      severity: 'medium',
      detail: 'GPS coordinates in photo metadata',
      recommendation: 'Strip metadata before posting'
    },
    {
      type: 'identifiable_location',
      severity: 'medium',
      detail: 'House number visible in photo',
      recommendation: 'Blur or crop'
    }
  ],

  autoFixes: {
    stripMetadata: true,
    addressRedacted: '[ADDRESS]'
  }
}


Auto-Fix Option
===============

// Automatically fix detected issues
await social.post({
  content: myContent,
  privacy: {
    autoFix: true,  // Apply recommended fixes automatically
    confirmHighRisk: true  // Confirm before posting high-risk content
  }
});

6.4 Privacy Levels

Visibility Settings
===================

type PrivacyLevel =
  | 'public'      // Everyone can see
  | 'protected'   // Followers only
  | 'private'     // Mutual friends only
  | 'secret'      // Specific people only
  | 'anonymous';  // No identity attached


Setting Default Privacy
=======================

await social.setPrivacy({
  defaultVisibility: 'protected',

  // Different defaults per platform
  platformDefaults: {
    instagram: 'protected',
    twitter: 'public',
    linkedin: 'public'
  },

  // Content type defaults
  contentDefaults: {
    text: 'public',
    photos: 'protected',
    location: 'private'
  }
});


Per-Post Privacy
================

await social.post({
  content: { text: 'Personal update...' },
  privacy: {
    visibility: 'private',
    closeFriendsOnly: true
  }
});

6.5 Metadata Protection

Automatic Metadata Stripping
============================

// All metadata removed before posting
const safeMedia = await social.privacy.stripMetadata(photo);

Removes:
  [OK] GPS coordinates
  [OK] Device information
  [OK] Capture date/time
  [OK] Camera serial number
  [OK] Software used
  [OK] Thumbnail with different data
  [OK] User comments/tags in file


Location Fuzzing
================

// Make location approximate instead of exact
const fuzzyLocation = social.privacy.fuzzyLocation(
  exactLocation,
  { radius: '5km' }  // Randomize within 5km
);

// Instead of "123 Main Street, Apt 4B"
// Shows "Downtown Seoul"


Selective Stripping
===================

await social.privacy.configure({
  media: {
    stripGPS: true,
    stripDevice: true,
    stripDate: false,  // Keep date
    stripAll: false
  }
});

6.6 Face and Identity Protection

Face Detection
==============

const scan = await social.privacy.detectFaces(photo);

Result:
{
  faces: [
    { id: 1, position: {...}, recognized: true, name: 'Kim Minsu' },
    { id: 2, position: {...}, recognized: false, name: null },
    { id: 3, position: {...}, recognized: true, name: 'Lee Jiyoung' }
  ],
  warning: '3 faces detected. Do you have consent to post?'
}


Auto-Blur Faces
===============

// Blur unrecognized faces
const processed = await social.privacy.blurFaces(photo, {
  blur: ['unrecognized'],  // or ['all'] or specific IDs
  style: 'blur'  // 'blur' | 'pixelate' | 'emoji'
});


Consent Management
==================

// Track consent for faces in photos
await social.privacy.requestConsent({
  photo: groupPhoto,
  faces: [face1, face2],
  message: 'Can I post this group photo?'
});

6.7 Encrypted Messaging

End-to-End Encrypted DMs
========================

// Send encrypted message
await social.messaging.sendEncrypted({
  to: friendId,
  content: 'Confidential message...'
});

Features:
  [OK] End-to-end encryption
  [OK] Perfect forward secrecy
  [OK] Self-destructing messages
  [OK] Screenshot detection
  [OK] Read receipts (optional)


Ephemeral Content
=================

// Self-destructing post
await social.post({
  content: { text: 'Temporary thought...' },
  ephemeral: {
    expiresIn: '24h',  // or '1h', '7d', etc.
    noScreenshot: true,
    notifyOnExpire: false
  }
});

6.8 Privacy Monitoring

Real-Time Alerts
================

social.on('privacy_alert', (event) => {
  console.log('Privacy issue:', event.type);
  console.log('Details:', event.details);
  console.log('Recommendation:', event.recommendation);
});

Alert Types:
  - Someone tagged you in a post
  - Your location was shared
  - New app requested data access
  - Suspicious login attempt
  - Data breach notification


Privacy Dashboard
=================

const report = await social.privacy.getReport();

Result:
{
  overallScore: 85,  // out of 100

  exposures: {
    location: 'low',
    personal: 'medium',
    photos: 'low'
  },

  recommendations: [
    'Review tagged photos from last month',
    'Update location sharing settings on Twitter',
    'Remove phone number from public profile'
  ],

  recentActivity: [
    { type: 'metadata_stripped', count: 45 },
    { type: 'location_fuzzed', count: 12 },
    { type: 'risk_blocked', count: 3 }
  ]
}

6.9 Data Collection Control

Control What Platforms Collect
==============================

await social.privacy.setDataCollection({
  // WIA-SOCIAL data
  analytics: false,  // Don't track my usage
  personalization: true,  // OK for suggestions

  // Third-party
  thirdPartySharing: false,
  targetedAds: false,
  crossPlatformTracking: false
});


Request Your Data
=================

// See what each platform has
const inventory = await social.privacy.getDataInventory();

// Per-platform breakdown
{
  instagram: {
    posts: 1200,
    messages: 5000,
    searchHistory: 'enabled',
    locationHistory: '2 years'
  },
  ...
}

Chapter Summary