SYK.INIT
v2.0
PROTOCOL.ACTIVE
ENCRYPTED
SEKYURITI
PREPARING ENVIRONMENT
_

AUTHENTICATED POST-DEPLOYMENT CONTROL

DOCUMENTATIONv0.1.0

TRACE

File origin verification. Register files and let anyone trace them back to you.

CLI + SDK
SHA-256
TYPESCRIPT
*
AI INTEGRATION

TELL YOUR AI

Copy the prompt below and paste it to Claude, ChatGPT, or Cursor to integrate TRACE automatically.

01

REGISTER

Hash + store origin

02

SHARE

Give file to anyone

03

TRACE

Verify file origin

01

SETUP

One command to authenticate and start tracing files.

terminalbash
npx @sekyuriti/trace login

WHAT HAPPENS

1.Opens browser for authentication
2.Select your project
3.Saves API key to ~/.sekyuriti/trace.json

SDK INSTALLATION

npm install @sekyuriti/trace
02

CLI

Register, check, and revoke files from your terminal.

Register a filebash
trace register contract.pdf

# Output:
# ✓ File registered
# Trace ID: TRC.A1B2.C3D4
# URL: https://sekyuriti.build/trace?id=TRC.A1B2.C3D4
Check a filebash
trace check download.exe

# Output:
# ✓ TRACED
# Origin: ACME Corp
# Registered: 2026-01-18
# Times traced: 42
Revoke a registrationbash
trace revoke TRC.A1B2.C3D4

# Output:
# ✓ File revoked

ALL COMMANDS

trace loginAuthenticate
trace logoutSign out
trace registerRegister file
trace checkCheck origin
trace revokeRevoke file
trace statusAccount info
03

SDK

Programmatic access for Node.js applications.

Register a filetypescript
import { createTraceClient } from "@sekyuriti/trace";

const trace = createTraceClient({
  apiKey: process.env.TRACE_API_KEY,
});

const result = await trace.register({
  filePath: "./contract.pdf",
  fileName: "contract.pdf",
  description: "Service Agreement v2",
});

console.log(result.trace_id);  // TRC.A1B2.C3D4
console.log(result.trace_url); // https://sekyuriti.build/trace?id=...
Check a filetypescript
const result = await trace.trace({
  filePath: "./download.exe",
});

if (result.result === "traced") {
  console.log("Origin:", result.file.issuer_name);
  console.log("Registered:", result.file.created_at);
} else if (result.result === "revoked") {
  console.log("File was revoked:", result.revoke_reason);
} else {
  console.log("File not found in registry");
}
Revoke a registrationtypescript
await trace.revoke("TRC.A1B2.C3D4", "File replaced with new version");
Hash a file manuallytypescript
import { hashFile, hashBuffer } from "@sekyuriti/trace";

// Hash a file
const hash = await hashFile("./contract.pdf");

// Hash a buffer
const buffer = Buffer.from("hello world");
const bufferHash = hashBuffer(buffer);
04

API

REST API for direct integration.

POST

/api/v2/trace/register

Register a file for tracing.

// Request
{
  "file_hash": "sha256-hash-of-file",
  "file_name": "contract.pdf",
  "file_size": 1234567,
  "description": "Service Agreement v2"
}

// Response
{
  "trace_id": "TRC.A1B2.C3D4",
  "status": "registered",
  "trace_url": "https://sekyuriti.build/trace?id=TRC.A1B2.C3D4"
}
POST

/api/v2/trace

Check a file's origin by hash.

// Request
{
  "file_hash": "sha256-hash-of-file"
}

// Response (traced)
{
  "trace_id": "TRC.A1B2.C3D4",
  "result": "traced",
  "file": {
    "file_name": "contract.pdf",
    "issuer_name": "ACME Corp",
    "created_at": "2026-01-18T12:00:00Z",
    "trace_count": 42
  }
}

// Response (not found)
{
  "result": "not_found"
}
DELETE

/api/v2/trace/register

Revoke a file registration.

// Request
{
  "trace_id": "TRC.A1B2.C3D4",
  "reason": "File replaced with new version"
}

// Response
{
  "trace_id": "TRC.A1B2.C3D4",
  "status": "revoked"
}

PROVE ORIGIN

Register files. Let anyone verify. That simple.