WritersLogic Namespace v1

Namespace URI: https://writerslogic.com/ns/v1/
Prefix: wlp:
JSON-LD Context: https://writerslogic.com/ns/v1/context.jsonld
Version: 1.1
Date: May 2026
Author: David Condrey, WritersLogic LLC
Extends: W3C PROV-O, W3C VC Data Model 2.0

Table of Contents

1. Overview

This namespace defines the complete vocabulary for the WritersLogic authorship verification system, unifying three concerns under a single context:

IETF alignment: The wire format for evidence packets and attestation results is defined in draft-condrey-rats-pop-protocol and draft-condrey-rats-pop-appraisal. The CDDL schema is available at schemas/evidence-packet.cddl.

2. C2PA Custom Assertions C2PA

Five custom assertions under the com.writerslogic.* namespace (per C2PA §12.5 reverse-domain naming). Each is independently verifiable via the C2PA claim signature. Third-party C2PA verifiers validate the manifest signature and hash binding; our verifier interprets the custom assertion payloads.

Assertion LabelFormatPurposeSchema
com.writerslogic.process-proof CBOR Top-level verdict and trust vector (the "what") JSON Schema
com.writerslogic.keystroke-cadence CBOR Typing timing fingerprint (the "how fast") JSON Schema
com.writerslogic.cognitive-markers CBOR Behavioral analysis dimensions (the "how human") JSON Schema
com.writerslogic.evidence-chain CBOR Checkpoint seals and temporal proof (the "when") JSON Schema
com.writerslogic.verifiable-credential JSON Embedded W3C VC 2.0 with Data Integrity proof (the "who says so") JSON Schema

Tier Mapping

TierAssertions Included
Free (Export to Publisher) process-proof + evidence-chain + verifiable-credential + standard C2PA
Pro (Evidence Bundle) All 5 custom assertions + standard C2PA + optional embedded evidence packet

Standard C2PA Assertions (also present)

AssertionPurpose
c2pa.hash.dataDocument binding (content hash)
c2pa.actions.v2Created action metadata
c2pa.metadataTitle, format (optional)

2.1 com.writerslogic.process-proof v2

Top-level verdict and trust assessment. This is what a verifier reads first to determine authorship confidence.

FieldTypeRequiredDescription
versioninteger (const 2)YesSchema version
evidenceIdstringYesHex-encoded 16-byte evidence packet UUID. Pattern: ^[0-9a-f]{32}$
evidenceHashstringYesSHA-256 hex digest of the original evidence packet bytes. Pattern: ^[0-9a-f]{64}$
verdictstring enumNohuman-authored, mixed-input, transcriptive, insufficient
assessmentScorenumber [0,1]NoComposite human-likeness score where 1.0 = strongly cognitive
riskLevelstring enumNolow, medium, high, insufficient
writingModestring enumNocognitive, transcriptive, mixed, insufficient
compositionModestring|nullNodirect-composition, ai-mediated, mixed, or null
attestationTierintegerNo1=software-only, 2=enhanced (typing analysis), 3=hardware (Secure Enclave/TPM)
signalScoresobjectNoPer-dimension composite scores (see below)
forgeryDifficultynumber [0,1]NoEstimated adversary effort to forge this evidence profile
transcriptionSuspiciousbooleanNoTrue when correction ratio >15% or error ecology <0.3
aiFluencyFlagbooleanNoTrue when word-trigram perplexity below AI threshold
analysisCompletenessinteger [0,18]NoSuccessfully completed analysis modules (out of 18)
processStartdate-timeNoRFC 3339 timestamp of first checkpoint
processEnddate-timeNoRFC 3339 timestamp of last checkpoint

signalScores sub-fields

FieldTypeDescription
cognitiveLoadnumber [0,1]IKI-surprisal entanglement (Spearman rho between keystroke timing and word surprisal)
revisionTopologynumber [0,1]DAG non-linearity of edit positions (branching, revisit depth, frontier distance)
errorEcologynumber [0,1]Motor vs. visual error distribution (JSD from cognitive reference)
likelihoodModelnumber [0,1]Bayesian P(cognitive) from per-window log-likelihood ratio model
compositionModenumber [0,1]Pure composition vs. AI-mediated authoring score

2.2 com.writerslogic.keystroke-cadence v1

Typing timing fingerprint enabling independent cadence verification.

FieldTypeRequiredDescription
versioninteger (const 1)YesSchema version
keystrokeCountintegerYesTotal keystrokes captured
sessionDurationSecnumberYesTotal session duration in seconds
timingobjectYesIKI statistics (see below)
dwellobjectYesKey hold and flight time metrics
correctionsobjectYesCorrection behavior metrics
fatigueobject|nullNoFatigue detection: phase (0=warmup, 1=plateau, 2=fatigue) and trajectory residual
spectralobject|nullNoFFT PSD analysis: slope and noise type (white/pink/brown)
hurstExponentnumber|nullNoFractal dimension. Human 0.6-0.8, random 0.5
biologicalCadenceScorenumber|null [0,1]NoKeystroke steadiness composite

timing sub-fields

FieldTypeDescription
meanIkiMsnumberMean inter-keystroke interval in milliseconds
medianIkiMsnumberMedian IKI in milliseconds
coefficientOfVariationnumberIKI std/mean. Below 0.15 = robotic
ikiPercentilesarray[5][p10, p25, p50, p75, p90] in milliseconds
burstCountintegerFast typing bursts (IKI below pause threshold)
avgBurstLengthnumberMean keystrokes per burst
pauseCountintegerPauses exceeding 2 seconds
avgPauseDurationMsnumberMean pause duration in milliseconds
pauseDepthDistributionarray[3]Fraction of pauses: [sentence 1-3s, paragraph 3-10s, deep 10s+]

dwell sub-fields

FieldTypeDescription
meanDwellMsnumberMean key hold duration (keyDown-keyUp) in ms
dwellCvnumberCV of dwell times. Human >0.2, robotic <0.1
meanFlightMsnumberMean release-to-press gap in ms
flightCvnumberCV of flight times. Human >0.3

corrections sub-fields

FieldTypeDescription
correctionRationumber [0,1]Backspace/delete fraction. Cognitive >0.05
crossHandTimingRationumberCross-hand vs same-hand IKI std dev ratio. Cognitive >1.3
postPauseCvnumberCV of first 5 keystrokes after each pause. Cognitive >0.25
ikiAutocorrelationnumberLag-1 autocorrelation. Cognitive -0.1 to 0.2, transcriptive >0.3

2.3 com.writerslogic.cognitive-markers v1

Deep behavioral analysis dimensions. The evidence that typing was cognitive, not mechanical.

FieldTypeRequiredDescription
versioninteger (const 1)YesSchema version
cognitiveLoadobject|nullNoIKI-surprisal entanglement analysis
revisionTopologyobject|nullNoDAG structure of edit positions and revision classification
errorEcologyobject|nullNoMotor vs. visual/bulk error distribution
likelihoodModelobject|nullNoPer-window Bayesian classification
focusobject|nullNoWindow focus-switching patterns
editMetricsobject|nullNoEdit position distribution and entropy

cognitiveLoad sub-fields (required: ikiSurprisalRho, sentenceArcRSquared, structuralPauseConcentration, compositeScore)

FieldTypeDescription
ikiSurprisalRhonumberSpearman rho between IKI and word surprisal. Cognitive 0.3-0.6, transcriptive ~0
sentenceArcRSquarednumberQuadratic fit R-squared to per-sentence velocity. Cognitive >0.3
structuralPauseConcentrationnumberGaussian proximity of deep pauses to boundaries. Cognitive >0.6
compositeScorenumber [0,1]Composite cognitive load score
deepPauseCountintegerPauses exceeding 3 seconds
boundaryCountintegerSentence/paragraph boundaries detected
wordCountintegerTotal words analyzed

revisionTopology sub-fields (required: detourRatio, leadingEdgeDivergence, insertionPointEntropy, compositeScore)

FieldTypeDescription
meanBranchingFactornumberEdit targets per source position. Cognitive >2, transcriptive ~1
meanRevisitDepthnumberEdits per active region. Cognitive 2-4
meanFrontierDistancenumberFraction behind max cursor. Cognitive 0.3-0.6, transcriptive <0.05
detourRationumberNon-sequential jumps / total chars. Transcription ~0, composition 0.3-1.5+
leadingEdgeDivergencenumberEdits behind frontier. Transcription ~0%, composition 15-40%
insertionPointEntropynumberShannon entropy of behind-edge insertions. Transcription <1.5, composition 2.5-4.0
revisionTypesobjectBreakdown: subWordMotorPct, wordSubstitutionPct, clauseRestructuringPct, positionalInsertionPct, totalRevisions
compositeScorenumber [0,1]Composite revision topology score

errorEcology sub-fields (required: jsdFromCognitive, jsdFromTranscriptive, compositeScore)

FieldTypeDescription
rapidSelfCorrectionPctnumberDelete 1-3 chars within 500ms. Cognitive ref: 0.35
immediateSmallCorrectionPctnumberDelete 1-3 chars within 1s. Cognitive ref: 0.30
delayedCorrectionPctnumberDelete after >2s delay. Transcriptive ref: 0.35
bulkCorrectionPctnumberDelete 5+ consecutive chars. Transcriptive ref: 0.30
falseStartPctnumberType 2-4 chars then delete/retype. Cognitive ref: 0.20
jsdFromCognitivenumberJSD from cognitive reference. Lower = more cognitive
jsdFromTranscriptivenumberJSD from transcriptive reference. Lower = more transcriptive
compositeScorenumber [0,1]Composite error ecology score

likelihoodModel sub-fields (required: sessionPCognitive, windowCount, compositeScore)

FieldTypeDescription
sessionLlrnumberSum of per-window LLRs. Positive = cognitive
sessionPCognitivenumber [0,1]Sigmoid(mean LLR) posterior probability
windowCountintegerNumber of 200-sample sliding windows analyzed
cognitiveWindowCountintegerWindows with LLR > 0
transcriptiveWindowCountintegerWindows with LLR < 0
meanWindowLlrnumberMean per-window LLR
llrStdDevnumberStd dev of window LLRs. Higher = mixed session
compositeScorenumber [0,1]Composite likelihood model score

focus sub-fields

FieldTypeDescription
switchCountintegerTotal window focus transitions
outOfFocusRationumber [0,1]Fraction of time with document unfocused
aiAppSwitchCountintegerSwitches to known AI/browser apps
midTypingSwitchRationumberSwitches within 2s of keystroke. Cognitive >0.5

editMetrics sub-fields

FieldTypeDescription
monotonicAppendRationumber [0,1]Edits at >95% position. High = append-only (suspicious)
editEntropynumberShannon entropy of 20-bin edit position histogram
timingEntropynumberShannon entropy of IKIs. Threshold: 3.0 bits
pauseEntropynumberShannon entropy of pause durations. Threshold: 2.0 bits
positiveNegativeRationumber [0,1]Insertions / (insertions + deletions)
deletionClusteringnumberNearest-neighbor distance ratio. Below 1 = clustered

2.4 com.writerslogic.evidence-chain v1

Temporal proof chain with per-checkpoint cryptographic seals.

FieldTypeRequiredDescription
versioninteger (const 1)YesSchema version
checkpointCountintegerYesNumber of checkpoints in the evidence chain
chainDurationSecnumberYesWall-clock seconds between first and last checkpoint
sealsarrayYesOrdered per-checkpoint seals (see below)
sessionStatsobject|nullNoAggregate session statistics

seals[] item fields

FieldTypeDescription
sequenceintegerMonotonic checkpoint ordinal
timestampintegerUnix timestamp in milliseconds (UTC)
sealHashstringSHA-256 hex digest (commits to content hash, jitter binding, chain predecessor). Pattern: ^[0-9a-f]{64}$

sessionStats sub-fields

FieldTypeDescription
sessionCountintegerEditing sessions (gaps >30 min separate sessions)
avgSessionDurationSecnumberMean session duration
totalEditingTimeSecnumberCumulative active editing duration
timeSpanSecnumberWall-clock span first to last event

2.5 com.writerslogic.verifiable-credential VC

Embeds a complete W3C Verifiable Credential 2.0 document with a Data Integrity proof (cryptosuite: eddsa-jcs-2022). This is the only assertion encoded as JSON rather than CBOR, because the Data Integrity proof requires JCS canonicalization.

The VC envelope follows the standard W3C VC 2.0 structure. The schema below defines the credentialSubject containing the WritersProof-specific ProcessAttestation.

FieldTypeRequiredDescription
idURIYesSubject DID (author identity)
typestring (const "ProcessAttestation")YesSubject type
processAttestationobjectYesAttestation claims (see below)

processAttestation sub-fields (required: status)

FieldTypeDescription
statusstring enumhuman-authored, mixed-input, transcriptive, insufficient
trustVectorobjectEAR trust vector components (hardware, instance, executables)
documentRefstringSHA-256 hex hash of the attested document
chainDurationnumberEvidence chain duration in seconds
attestationTierinteger1, 2, or 3
writingModestringDetected writing mode
compositionModestringComposition mode classification
forensicSignalsobject15-field forensic enrichment from 5 analysis dimensions

3. CBOR Encoding Notes

All C2PA assertions except verifiable-credential are encoded as CBOR (per C2PA 2.4 §8.4.2).

4. Interpretation Guidelines

Score Ranges

All composite scores use the range [0.0, 1.0] where higher values indicate stronger cognitive (human-authored) signals.

Score RangeInterpretationTypical Verdict
0.80 - 1.00Strong cognitive signal across multiple dimensionshuman-authored
0.60 - 0.79Moderate cognitive signal; some dimensions may be weakhuman-authored or mixed-input
0.40 - 0.59Ambiguous; mixed signals across dimensionsmixed-input
0.20 - 0.39Weak cognitive signal; transcriptive patterns dominanttranscriptive
0.00 - 0.19Minimal cognitive signal; likely mechanical inputtranscriptive

Reference Values for Key Discriminators

MetricCognitive (Human)Transcriptive (Copied)What It Means
IKI CV>0.15<0.15Keystroke timing variability; low CV = robotic regularity
Hurst exponent0.6-0.8~0.5Long-range timing dependence; 0.5 = random (no memory)
Spectral slope~-1.0 (pink)~0 (white)Frequency spectrum of timing; pink noise = biological motor control
Dwell CV>0.2<0.1Key hold duration variability
Correction ratio>0.05<0.03Humans make and fix more errors during composition
Detour ratio0.3-1.5+~0Non-sequential editing; composition jumps around
Leading edge divergence15-40%~0%Edits behind the cursor frontier
Insertion point entropy2.5-4.0 bits<1.5 bitsEdit position diversity
IKI-surprisal rho0.3-0.6~0Typing slows on harder words (thinking signal)

Attestation Tiers

TierNameDescription
1Software-onlyStandard software signing. Timestamps from system clock. Baseline entropy from typing data only.
2EnhancedTyping-derived behavioral entropy binding. Jitter seals at each checkpoint. Dwell/flight cadence analysis.
3Hardware-boundSecure Enclave (macOS) or TPM (Windows/Linux) key storage. Hardware-attested device identity. Tamper-resistant key material.

Risk Levels

LevelAssessment ScoreMeaning
low≥ 0.7High confidence in cognitive authorship
medium0.4 - 0.7Some signals present but not conclusive
high< 0.4Weak cognitive signal; evidence may be mechanical or forged
insufficientN/ANot enough data to assess (e.g., <100 keystrokes)

5. Verifiable Credential Types VC

TermURIDescription
ProcessAttestationCredentialwlp:ProcessAttestationCredentialA VC whose subject is a PoP Attestation Result. Issued by a Verifier.
AuthorshipCredentialwlp:AuthorshipCredentialA VC asserting authorship claims backed by PoP evidence.
AuthorshipClaimwlp:AuthorshipClaimA credentialSubject type for authorship assertions.
ProcessAttestationwlp:ProcessAttestationA credentialSubject type for process attestation results.
PopAttestationResultwlp:PopAttestationResultAn evidence type referencing a PoP Attestation Result (.cwar).
PopEvidencePacketwlp:PopEvidencePacketAn evidence type referencing a PoP Evidence Packet (.cpop).

VC Usage Example

{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://writerslogic.com/ns/v1/context.jsonld"
  ],
  "type": ["VerifiableCredential", "ProcessAttestationCredential"],
  "issuer": "did:web:api.writersproof.com",
  "validFrom": "2026-05-27T00:00:00Z",
  "credentialSubject": {
    "id": "did:key:z6Mk...",
    "type": "ProcessAttestation",
    "processAttestation": {
      "status": "human-authored",
      "attestationTier": 2,
      "documentRef": "a3f8d2e1...",
      "chainDuration": 9000,
      "writingMode": "cognitive",
      "compositionMode": "direct-composition",
      "forensicSignals": {
        "cognitiveLoadScore": 0.74,
        "revisionTopologyScore": 0.81,
        "errorEcologyScore": 0.69,
        "likelihoodPCognitive": 0.77,
        "compositionModeScore": 0.85,
        "detourRatio": 0.42,
        "leadingEdgeDivergence": 0.28,
        "insertionPointEntropy": 3.1
      }
    }
  },
  "evidence": [{
    "type": "PopAttestationResult",
    "verifier": "did:web:api.writersproof.com",
    "attestationResult": "urn:cpop:war:abc123",
    "digestSRI": "sha256-base64encodedhash...",
    "mediaType": "application/cwar+cbor"
  }],
  "proof": {
    "type": "DataIntegrityProof",
    "cryptosuite": "eddsa-jcs-2022",
    "verificationMethod": "did:web:api.writersproof.com#key-1",
    "proofPurpose": "assertionMethod",
    "created": "2026-05-27T00:00:00Z",
    "proofValue": "z..."
  }
}

6. Forensic Report Ontology FORENSIC

Structured data vocabulary for forensic authorship examination reports, extending W3C PROV-O.

Core Classes

ClassPROV-O SupertypeDescription
wlp:AuthorshipReportprov:EntityForensic authorship examination report
wlp:EvidencePacketprov:EntityCryptographically signed behavioral evidence bundle
wlp:DocumentArtifactprov:EntityDocument under examination (SHA-256 identified)
wlp:WritingSessionprov:ActivityContiguous period of writing activity
wlp:CheckpointChainprov:EntityHash-linked sequence of cryptographic checkpoints
wlp:ForensicExaminationprov:ActivityAnalysis of evidence to produce a report
wlp:ForensicEngineprov:SoftwareAgentSoftware that performed the examination

PROV-O Relations Used

RelationDomain / RangeUsage
prov:wasGeneratedByAuthorshipReport / ForensicExaminationReport was produced by the examination
prov:wasDerivedFromAuthorshipReport / EvidencePacketReport derives from evidence
prov:wasAssociatedWithForensicExamination / ForensicEngineExamination performed by engine
prov:usedForensicExamination / EvidencePacketExamination consumed evidence

7. Wire Format Schemas WIRE

SchemaFormatDescription
evidence-packet.cddl CDDL CBOR wire format for Evidence Packets (tag 1129336645) and Attestation Results (tag 1129791826). Aligned with IETF RATS.

8. Version History

VersionDateChanges
1.0 May 2026 Unified namespace at /ns/v1/. Five C2PA custom assertions with .schema.json definitions. JSON-LD context (wlp: prefix) covering VC types, forensic report ontology, and all C2PA assertion terms. CDDL schema for CBOR wire format. Evidence bundle schema deployed at /schemas/evidence-bundle.schema.json (deprecated format).

URN Scheme

PatternExample
urn:cpop:report:{id}urn:cpop:report:WAR-A1B2C3D4
urn:cpop:examination:{id}urn:cpop:examination:WAR-A1B2C3D4
urn:cpop:engine:{version}urn:cpop:engine:1.0.5
urn:cpop:evidence:sha256:{hash}urn:cpop:evidence:a3f8...
urn:cpop:document:sha256:{hash}urn:cpop:document:a3f8...