
Security News
Insecure Agents Podcast: How to Keep AI Agents From Bypassing Security Controls
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.
form0-core
Advanced tools
The schema-driven form engine behind form0, the open-source form ecosystem by paqu.io. Framework-agnostic: conditional visibility, validation and calculations from a JSON schema, in Node.js, browsers and React Native.
[!NOTE] form0 is in active development and is available to use today. Its schema format and core concepts are stable in practice, but releases before 1.0 may include breaking changes. Pin your versions and review the release notes when upgrading. A formally stable release is coming.
form0-core is the framework-agnostic, schema-driven engine behind the
form0 open-source ecosystem. It evaluates calculations, conditional
visibility, requirements, read-only rules, validation, and form events in Node.js, browsers, and
React Native.
Most users should begin with form0-cli rather than install
the engine directly. Follow the quickstart to
create a project, edit a schema, and preview a form.
Use form0-core directly when you are building a renderer, integration, developer tool, or other
custom form runtime.
npm install form0-core
import { createFormEngine } from 'form0-core';
const schema = {
form: {
name: 'Contact form',
status_field: null,
elements: [
{
type: 'TextField',
key: 'name',
data_name: 'name',
label: 'Name',
display: 'default',
description: null,
description_mode: null,
required: true,
required_conditions: null,
visible: true,
visible_conditions: null,
read_only: false,
read_only_conditions: null,
default_value: null,
pattern: null,
pattern_description: null,
supporting_image: false,
supporting_image_path: null,
supporting_image_display: null,
},
],
},
};
const engine = createFormEngine({
schema,
initialValues: { name: 'Ada' },
});
engine.eval();
console.log(engine.getState());
The engine API exposes eval() for calculations, conditions, and validation; trigger() for form
events; and getState() for current values and evaluated field state.
form0-core owns behavioral schema concerns such as fields, conditions, calculations, events, and
AI metadata. Applications may attach optional top-level metadata such as form identifiers,
publication state, schema version, organization scope, and media or location settings.
Operational counters should remain platform-owned and be injected at application or API
boundaries.
form0-core intentionally uses two choice-value shapes:
{ choice, other }{ choices, other }{ choice_value, other_value }{ choices_value, other_value }Record utilities follow this contract:
createStructuredRecord() produces canonical stored records.normalizeStructuredRecord() consumes and returns canonical stored records.buildFormRecordSnapshot() converts canonical records into renderer snapshot values.projectDatasetRowValues() consumes canonical stored rows.Record status remains top-level as @status; it is not stored inside form_values.
[!CAUTION] Schema expressions and event scripts execute JavaScript. Only evaluate schemas from authors you trust.
SAFEandCUSTOMmodes provide validation controls; they are not security sandboxes.
Read the security policy before evaluating schemas outside a fully trusted authoring workflow.
See SUPPORT.md for help and CONTRIBUTING.md to contribute.
FAQs
The schema-driven form engine behind form0, the open-source form ecosystem by paqu.io. Framework-agnostic: conditional visibility, validation and calculations from a JSON schema, in Node.js, browsers and React Native.
The npm package form0-core receives a total of 51 weekly downloads. As such, form0-core popularity was classified as not popular.
We found that form0-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.

Security News
GPT-6 Astra tried to plant malicious code in simulated open source projects using fake GitHub accounts and deceptive PRs during an assigned CTF challenge.

Security News
upm uses Node.js to deliver fast npm installs in about 250 KB, with a JavaScript API and security defaults.