@walkeros/server-transformer-fingerprint 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,90 @@
1
+ <p align="left">
2
+ <a href="https://www.walkeros.io">
3
+ <img alt="walkerOS" title="walkerOS" src="https://www.walkeros.io/img/walkerOS_logo.svg" width="256px"/>
4
+ </a>
5
+ </p>
6
+
7
+ # @walkeros/server-transformer-fingerprint
8
+
9
+ Server-side user identification for walkerOS without cookies. Hashes
10
+ configurable request fields into a deterministic identifier and stores it on the
11
+ event. No cookies, no PII stored: the same inputs always produce the same hash,
12
+ which gives session continuity and cross-domain stitching without a client-side
13
+ ID.
14
+
15
+ [Documentation](https://www.walkeros.io/docs/transformers/fingerprint) &bull;
16
+ [NPM Package](https://www.npmjs.com/package/@walkeros/server-transformer-fingerprint)
17
+ &bull;
18
+ [Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/transformers/fingerprint)
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install @walkeros/server-transformer-fingerprint
24
+ ```
25
+
26
+ ## Quick start
27
+
28
+ ```typescript
29
+ import { startFlow } from '@walkeros/collector';
30
+ import { transformerFingerprint } from '@walkeros/server-transformer-fingerprint';
31
+
32
+ await startFlow({
33
+ transformers: {
34
+ fingerprint: {
35
+ code: transformerFingerprint,
36
+ config: {
37
+ settings: {
38
+ fields: ['ingest.ip', 'ingest.userAgent'],
39
+ output: 'user.hash',
40
+ length: 16,
41
+ },
42
+ },
43
+ },
44
+ },
45
+ });
46
+ ```
47
+
48
+ The event then carries the hash at the configured `output` path:
49
+
50
+ ```json
51
+ { "name": "page view", "user": { "hash": "158f99cc06e33fd6" } }
52
+ ```
53
+
54
+ Fields resolve from `{ event, ingest }` using walkerOS mapping. Strings use dot
55
+ notation, and function values compute dynamically. A missing field is treated as
56
+ an empty string, and the transformer never throws.
57
+
58
+ ## Daily rotation
59
+
60
+ Without rotation the same IP and user agent produce the same hash indefinitely.
61
+ Add a date field to reset it each day, which limits cross-day tracking while
62
+ keeping session continuity within a day:
63
+
64
+ ```typescript
65
+ settings: {
66
+ fields: [
67
+ 'ingest.ip',
68
+ 'ingest.userAgent',
69
+ { fn: () => new Date().toISOString().slice(0, 10) },
70
+ ],
71
+ output: 'user.hash',
72
+ length: 16,
73
+ }
74
+ ```
75
+
76
+ ## Documentation
77
+
78
+ Full configuration, IP anonymization, and examples live in the docs:
79
+ **https://www.walkeros.io/docs/transformers/fingerprint**
80
+
81
+ ## Contribute
82
+
83
+ Feel free to contribute by submitting an
84
+ [issue](https://github.com/elbwalker/walkerOS/issues), starting a
85
+ [discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
86
+ [contact](https://calendly.com/elb-alexander/30min).
87
+
88
+ ## License
89
+
90
+ MIT
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/server-transformer-fingerprint",
4
- "version": "4.4.0",
4
+ "version": "4.5.0",
5
5
  "type": "transformer",
6
6
  "platform": [
7
7
  "server"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/server-transformer-fingerprint",
3
3
  "description": "Fingerprint transformer for walkerOS server - hash configurable fields for session continuity",
4
- "version": "4.4.0",
4
+ "version": "4.5.0",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -27,8 +27,8 @@
27
27
  "update": "npx npm-check-updates -u && npm update"
28
28
  },
29
29
  "devDependencies": {
30
- "@walkeros/core": "4.4.0",
31
- "@walkeros/server-core": "4.4.0"
30
+ "@walkeros/core": "4.5.0",
31
+ "@walkeros/server-core": "4.5.0"
32
32
  },
33
33
  "repository": {
34
34
  "url": "git+https://github.com/elbwalker/walkerOS.git",
@@ -60,7 +60,7 @@
60
60
  }
61
61
  ],
62
62
  "dependencies": {
63
- "@walkeros/core": "4.4.0",
64
- "@walkeros/server-core": "4.4.0"
63
+ "@walkeros/core": "4.5.0",
64
+ "@walkeros/server-core": "4.5.0"
65
65
  }
66
66
  }