Skip to content

Cooperation-org/TrustClip

Repository files navigation

@linked-claims/trustclip

Bookmarklet tools for extracting claims from any web page and linking them into a decentralized web of trust. Extract attestations, claims, and trust signals from articles, social profiles, forums, or any web content.

Core Purpose

TrustClip enables users to:

  • Extract claims from any web content (articles, posts, profiles, documents)
  • Link claims into a decentralized trust graph
  • Preserve context by maintaining source URLs and metadata
  • Build trust networks from existing web content

Installation

npm install @linked-claims/trustclip

Usage

LinkedIn Age Verification

Specialized bookmarklet for verifying LinkedIn account age:

import { LinkedInBookmarklet } from '@linked-claims/trustclip';

const linkedInBookmarklet = new LinkedInBookmarklet({
  apiEndpoint: 'https://your-api.com/linkedin/verify-age',
  tokenKey: 'linkedin_verification_token' // optional, defaults to this
});

// Get bookmarklet code
const code = linkedInBookmarklet.getBookmarkletCode();

// Get as data URI for links
const uri = linkedInBookmarklet.getBookmarkletURI();

General Claim Extraction

The primary use case - extract claims from any web content:

import { ClaimExtractionBookmarklet } from '@linked-claims/trustclip';

// Extract claims from news articles, blog posts, forum discussions, etc.
const claimBookmarklet = new ClaimExtractionBookmarklet({
  apiEndpoint: 'https://your-api.com/process',
  enableOnSelect: false // click to activate
});

// Auto-extract when text is selected (for power users)
const autoClaimBookmarklet = new ClaimExtractionBookmarklet({
  apiEndpoint: 'https://your-api.com/process',
  enableOnSelect: true
});

Use cases:

  • Extract claims from news articles
  • Capture attestations from blog posts
  • Save endorsements from recommendation letters
  • Collect statements from research papers
  • Archive promises from company announcements

Dynamic Script Loader

Load a more complex script from your server (useful for development):

import { DynamicLoaderBookmarklet } from '@linked-claims/trustclip';

const loaderBookmarklet = new DynamicLoaderBookmarklet(
  'https://your-server.com' // will load from /bookmarklet.js
);

Example: Creating Bookmarklet Links

<!-- LinkedIn Age Verification -->
<a href="javascript:(function(){...})" 
   class="bookmarklet">
  🔍 Verify LinkedIn Age
</a>

<!-- Claim Extraction -->
<a href="javascript:(function(){...})" 
   class="bookmarklet">
  📋 Extract Claims
</a>

Or in React:

function BookmarkletButtons() {
  const linkedIn = new LinkedInBookmarklet({ 
    apiEndpoint: '/api/linkedin/verify' 
  });
  
  const claims = new ClaimExtractionBookmarklet({ 
    apiEndpoint: '/api/claims/extract' 
  });
  
  return (
    <div>
      <a href={linkedIn.getBookmarkletURI()}>
        Verify LinkedIn
      </a>
      <a href={claims.getBookmarkletURI()}>
        Extract Claims
      </a>
    </div>
  );
}

API Endpoints

Your API endpoints should accept:

LinkedIn Verification

POST /api/linkedin/verify-age
Headers: {
  'X-Verification-Token': 'token-from-session'
}
Body: {
  memberSince: string,    // "Member since March 2018"
  year: number,          // 2018
  month: string,         // "March"
  profileUrl: string,    // Full LinkedIn URL
  profileId: string,     // LinkedIn ID
  timestamp: string      // ISO timestamp
}

Claim Extraction

POST /api/claims/extract
Body: {
  text: string,          // Selected text
  source_url: string     // Current page URL
}

Development

npm install
npm run build

Local Testing with Talent App

  1. Build and link this package:

    cd /Users/gv/parent/linked-trust/trustClip
    npm install
    npm run build
    npm link
  2. Link in the talent app (when ready to test):

    cd /Users/gv/parent/linked-trust/talent
    npm link @linked-claims/trustclip
  3. To unlink later:

    cd /Users/gv/parent/linked-trust/talent
    npm unlink @linked-claims/trustclip

Note: The talent app currently has its own embedded version of the bookmarklet code. This package structure is for future migration.

About

bookmarklet

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •