Title: FOBO Data Maker Forms
Author: chivantiebosch
Published: <strong>Agẹmọ  29, 2026</strong>
Last modified: Agẹmọ  29, 2026

---

Ṣàwárí àwọn plugin

![](https://ps.w.org/fobo-data-maker-forms/assets/banner-772x250.png?rev=3627468)

![](https://ps.w.org/fobo-data-maker-forms/assets/icon-256x256.png?rev=3627468)

# FOBO Data Maker Forms

 Láti ọwọ́ [chivantiebosch](https://profiles.wordpress.org/chivantiebosch/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/fobo-data-maker-forms.1.0.0.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/fobo-data-maker-forms/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/fobo-data-maker-forms/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/fobo-data-maker-forms/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/fobo-data-maker-forms/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/fobo-data-maker-forms/)

## Àpèjúwe

The FOBO Data Maker Forms plugin lets you host Data Maker forms on a WordPress site.
Upload a signed `.dmf` bundle, paste the shortcode onto any page, and submissions
are sealed against the formÌtumọ̀ Yorùbá: ’s recipient pubkey and forwarded to the
Data Maker API.

Features:

 * Full parity with the desktop renderer for the v1 column set: text, number, date,
   choice, multi-choice, checkbox, attachment, image, divider, spacer, group, rich-
   text, heading, button.
 * Pre-compiled VisibleWhen / CalculatedExpression / ValidationRule expressions 
   ship with the .dmf, so cascade fires entirely in the browser — no server round-
   trip per keystroke.
 * libsodium-backed sealed submissions; the WP server never sees plaintext values
   once they leave the browser.
 * Optional browser-localStorage edit flow lets submitters return and amend their
   previous submission via a one-time edit token.
 * Theme switch: use the formÌtumọ̀ Yorùbá: ’s own Data Maker palette, or inherit
   the active WordPress theme.

Out of scope for v1: multi-step (Steps), signature/initials fields, relation fields,
charts, nested record entry.

### Requirements

 * PHP 8.1+ with the `sodium` extension (default in PHP 7.2+).
 * The `zip` extension.
 * HTTPS on the WordPress site is strongly recommended.

### External services

This plugin relies on the following third-party services. No data is sent to any
of them until a visitor submits a form, or until an administrator turns on the optional
Turnstile feature.

**Data Maker API** (`https://datamaker-api.fobo-tools.com`)
 The formÌtumọ̀ Yorùbá:’
s destination. When a visitor submits a form, the plugin seals (end-to-end encrypts)
the submitted values against the form publisherÌtumọ̀ Yorùbá: ’s public key in the
browser and POSTs the sealed blob plus minimal metadata (the form id, schema version,
and a submission timestamp) to this endpoint, which routes it to the formÌtumọ̀ 
Yorùbá: ’s publisher. The WordPress server never sees the plaintext field values.
File attachments are encrypted in the browser and PUT directly to the publisherÌtumọ̀
Yorùbá: ’s storage via a short-lived upload slot issued by this API. This service
is operated by FOBO Tools. Terms: https://fobo-tools.com/terms — Privacy: https://
fobo-tools.com/privacy

**Cloudflare Turnstile** (`https://challenges.cloudflare.com`)
 A privacy-friendly
CAPTCHA, used only on forms where an administrator has enabled the per-form Turnstile
toggle. When enabled, the visitorÌtumọ̀ Yorùbá: ’s browser loads CloudflareÌtumọ̀
Yorùbá: ’s widget script and obtains a challenge token; that token is sent with 
the submission and verified server-side against CloudflareÌtumọ̀ Yorùbá: ’s `siteverify`
endpoint before the submission is sealed. No form field values are sent to Cloudflare.
This service is operated by Cloudflare, Inc. Terms: https://www.cloudflare.com/website-
terms/ — Privacy: https://www.cloudflare.com/privacypolicy/

### Content Security Policy

The renderer evaluates pre-compiled VisibleWhen / Calculated / Validation expressions
on the client at every keystroke. The compiled bodies are plain JavaScript and run
via `Function(...)` constructor, which a strict `Content-Security-Policy: script-
src 'self'` header rejects.

If the host site ships a CSP header, allow:

 * `script-src 'self' 'unsafe-eval'` — to permit the compiled expression evaluator.
 * `script-src 'self' https://challenges.cloudflare.com` — if the per-form Turnstile
   toggle is on (CloudflareÌtumọ̀ Yorùbá: ’s widget loads from this origin).
 * `connect-src 'self' https://datamaker-api.fobo-tools.com https://challenges.cloudflare.
   com` — for the sealed submit endpoint and the Turnstile siteverify call.
 * `frame-src https://challenges.cloudflare.com` — for the Turnstile iframe.

Sites that cannot grant `'unsafe-eval'` can still upload forms with no VisibleWhen/
Calculated / per-field Validation expressions; static layouts work without the expression
evaluator running.

### Source code and build

This plugin ships its complete, human-readable source. The minified files under `
assets/dist/` are build artifacts only — their unminified sources sit beside them
and are what you edit:

 * `assets/renderer.js` builds `assets/dist/renderer.min.js`
 * `assets/fn.js` builds `assets/dist/fn.min.js`
 * `assets/wp-bridge.js` builds `assets/dist/wp-bridge.min.js`
 * `assets/styles.css` builds `assets/dist/styles.min.css`
 * `assets/layout.css` builds `assets/dist/layout.min.css`

Regenerate them with `make minify`, which runs Terser 5.36.0 and csso-cli 4.0.2 —
both versions pinned in the bundled `Makefile`.

### Third-party libraries

 * **Font Awesome 5 Free (Solid)** — `assets/fa-solid-900.ttf`, drives the glyph
   controls. Font licensed under SIL OFL 1.1; icons and CSS under MIT. https://fontawesome.
   com — source: https://github.com/FortAwesome/Font-Awesome
 * **libsodium** — used through PHPÌtumọ̀ Yorùbá: ’s bundled `sodium` extension (
   PHP 7.2+). No library code is shipped with the plugin.

### Local development

A Docker harness ships in `docker-compose.yml` (WordPress 6.7 + PHP 8.2 + MariaDB
11) with the plugin folder bind-mounted into `wp-content/plugins/fobo-data-maker-
forms/`.

    ```
    make up           # start WP on http://localhost:8089
    make wp-install   # one-shot scripted install + activate (admin/admin)
    make logs         # tail WordPress error log
    make down         # stop containers
    make down ARGS=-v # stop + nuke volumes
    ```

PHP edits are picked up immediately. JS/CSS edits to assets/ are too — refresh the
page in the browser.

## Àwọn àwòrán ìbòjú

[⌊A designer-themed RSVP form rendered on the front end, with a background image,
custom fonts, and choice fields.⌉⌊A designer-themed RSVP form rendered on the front
end, with a background image, custom fonts, and choice fields.⌉[

A designer-themed RSVP form rendered on the front end, with a background image, 
custom fonts, and choice fields.

[⌊A petition form with a signature pad and a Markdown-enabled comments field.⌉⌊A
petition form with a signature pad and a Markdown-enabled comments field.⌉[

A petition form with a signature pad and a Markdown-enabled comments field.

[⌊The Forms admin screen: every uploaded .dmf listed with its shortcode, signing
status, and upload date.⌉⌊The Forms admin screen: every uploaded .dmf listed with
its shortcode, signing status, and upload date.⌉[

The Forms admin screen: every uploaded .dmf listed with its shortcode, signing status,
and upload date.

[⌊Uploading a signed .dmf bundle and giving it a shortcode slug.⌉⌊Uploading a signed.
dmf bundle and giving it a shortcode slug.⌉[

Uploading a signed .dmf bundle and giving it a shortcode slug.

## Àwọn ìdí

Plugin yìí pèsè 1 ìdí.

 *   FOBO Data Maker Form

## Ìgbéwọlẹ̀

 1. Upload the `fobo-data-maker-forms` folder to `/wp-content/plugins/`.
 2. Activate the plugin under **Plugins**.
 3. Configure the **Data Maker API URL** under **FOBO Data Maker Forms  Settings**.
 4. Upload a `.dmf` bundle under **FOBO Data Maker Forms  Upload .dmf** with a slug.
 5. Embed in a page: `[fobo_data_maker_form id="your-slug"]`.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“FOBO Data Maker Forms” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti
ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa

 *   [ chivantiebosch ](https://profiles.wordpress.org/chivantiebosch/)

[Túmọ̀ “FOBO Data Maker Forms” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/fobo-data-maker-forms)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/fobo-data-maker-forms/),
ṣàyẹ̀wò [ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/fobo-data-maker-forms/),
tàbí ṣe àgbékalẹ̀ sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/fobo-data-maker-forms/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/fobo-data-maker-forms/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.0.0

 * Initial public release. Reads .dmf envelope v3 (compiled.json + elementCss.json
   + palette.css extras). Sealed POST/PUT submissions. localStorage edit flow.

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.0.0**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **oṣù 2 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **Tó kéré sí 10**
 *  Ẹ̀yà WordPress ** 6.4 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **7.0.4**
 *  Ẹ̀yà PHP ** 8.1 tàbí ju bẹ́ẹ̀ lọ **
 *  Èdè
 * [English (US)](https://wordpress.org/plugins/fobo-data-maker-forms/)
 * Àwọn àmì
 * [forms](https://yor.wordpress.org/plugins/tags/forms/)[renderer](https://yor.wordpress.org/plugins/tags/renderer/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/fobo-data-maker-forms/advanced/)

## Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

[Your review](https://wordpress.org/support/plugin/fobo-data-maker-forms/reviews/#new-post)

[Wo gbogbo àwọn àgbéyẹ̀wò](https://wordpress.org/support/plugin/fobo-data-maker-forms/reviews/)

## Àwọn Olùkópa

 *   [ chivantiebosch ](https://profiles.wordpress.org/chivantiebosch/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/fobo-data-maker-forms/)