DeepStamp is the product name; the API paths still say
fingerprint. Endpoints are /api/v1/fingerprint/embed and /api/v1/fingerprint/detect, and responses return fingerprint_id. There is no /api/v1/deepstamp/* endpoint.Embed at publish time, not retroactively
Watermark content as early as possible, ideally at the moment of publication or distribution. Embedding after content has already circulated reduces the provenance window.Always store the fingerprint_id
Thefingerprint_id returned by /embed is your key for retrieval and detection. Store it alongside your internal document record.
Distribute watermarked_content, not the original
Thewatermarked_content in the response contains invisible zero-width Unicode characters. Distribute this version instead of the original, it is visually identical but carries the cryptographic watermark that enables detection.
Choose the right content_type
Scoring weights are automatically tuned per content type. Choosing the correct type improves detection accuracy:Use custom weights for specialized use cases
Override the default weights when your detection scenario is unusual. For example, if you only care about whether the same entities appear (regardless of causal structure):1.0. The weights used are echoed back in meta.weights for auditability.
Use filters to narrow detection scope
Passfilters to reduce the candidate set and speed up detection:
Understand the two detection layers
Detection runs two independent checks, use both signals together:
Check
watermark_match and watermark_correlation on each match to see if the watermark layer fired. The meta.watermark_detected field tells you whether any watermark was found in the input at all.
Interpret confidence scores carefully
When
watermark_match: true, the match is near-certain regardless of the TKG score.
Audit matches with overlap lists
Every match includesoverlap.entities, overlap.timeseries, and overlap.relations, the specific items shared between the query and the candidate. Use these to explain why two articles matched, not just that they matched.
Use fingerprint_id for re-scoring
If you’ve already embedded content and want to re-score it against the registry (e.g., periodically checking for new matches), pass thefingerprint_id directly instead of the content:

