ghard13

ghard13 – experiment concept

ghard13 is a library experiment to provide app hardening.

observation

what

google cripples automations against its search engine via CAPTCHAS and rendering html attribute values as hexadecimal instead of human-readable strings. this makes it nearly impossible to select on class/id values (for example).

because of this observation, ghard13 attempts to mimic this for site owners. which provides a layer of security aginst automations and web scraping.

why

how

architecture

core components

project structure

ghard13/
├── src/
│   ├── core/
│   │   ├── obfuscator.js          # hex value generation and mapping
│   │   ├── selector_oracle.js     # selector tracking and cross-reference
│   │   └── remapper.js            # html/css/js selector remapping
│   ├── puzzle/
│   │   ├── puzzle_engine.js       # puzzle generation and validation
│   │   ├── behavioral_tracker.js  # mouse/timing/keystroke analysis
│   │   └── puzzle_ui.js           # countdown timer, slider, input components
│   ├── session/
│   │   └── session_manager.js     # minimal session handling
│   └── ghard13.js                 # main library entry point
├── demo/
│   ├── sample_site/               # test site for demonstration
│   │   ├── index.html
│   │   ├── styles.css
│   │   └── script.js
│   └── demo_interface.html        # showcase interface
├── tests/
│   ├── core/                      # core component tests
│   ├── puzzle/                    # puzzle system tests
│   ├── integration/               # end-to-end tests
│   └── test_runner.js
├── build/
│   ├── webpack.config.js          # build configuration
│   └── build_pipeline.js          # buildtime processing
├── docs/
│   ├── experiment-concept.md      # this document
│   ├── api_reference.md           # library api documentation
│   └── integration_guide.md       # implementation guide
├── package.json
├── README.md
└── .gitignore

success criteria

implementation details

error handling

[still configuring]

circuit (ladder logic)

|[START]*********************************************|
| ↓                                                  |
|ghard13 library operates on site content            |
| ↓                                                  |
| site is requested  ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← |
|   → puzzle loads                                   ↑
|     → puzzle not solved                            ↑
|       ↓ site not viewable                          ↑
|       → bounce from session → → → → → → → → → → →  ↑
|     → puzzle solved                                ↑
|       → site viewable w/ hardened content → → → →  ↑
|***********************************************[END]|

technical concerns

questions

language options

coding style

implementation phases

notes:

phase item purpose
0.0 project setup foundation: package.json, build system, test framework
0.1 selector_oracle track site selectors, cross-reference html/js/css
0.2 obfuscator core hex value generation and mapping logic
1.0 remapper remap selectors across html/css/js without breaking functionality
1.1 remapper tests validate css/js functionality after selector obfuscation
1.2 build integration buildtime processing pipeline for site files
2.0 puzzle_engine generate behavioral + time-based puzzles
2.1 puzzle ui countdown timer, slider, input field with paste-me-not
2.2 behavioral tracking mouse movement, timing, keystroke rhythm analysis
3.0 session_manager minimal session handling without site collision
3.1 puzzle validation verify puzzle completion and behavioral patterns
3.2 fallback handling serve obfuscated content on puzzle failure
4.0 demo interface showcase ghard13 functionality and use cases
4.1 paste-me-not check rechecking dependency use
4.2 hex algo refinement configurable length (default 8), crypto randomness, site salt
4.2.1 deterministic seeding use original selector as seed for consistent generation
4.2.2 hex pool optimization pre-generate hex pool, lazy evaluation for performance
4.2.3 google-style mimicry add occasional non-hex characters (_,-) for realism
4.3.0 slider implementation implement working visual puzzle in demo
4.3.1 integration testing end-to-end testing with sample site
5.0 documentation usage.md, installation.md, architecture.md
5.1 license transition from MIT license to paste-me-not-LICENSE
5.2 github release release v0.1.0 to repo
5.3 github pages setup demo in github pages
5.4 npm packaging prepare for npm install ghard13 deployment