← All Docs

Core Concepts

How IPCraft organizes your network data.

Organizations

Every IPCraft account belongs to an organization. Your organization is your tenant boundary. All subnets, addresses, and settings are scoped to your organization and completely isolated from other tenants at the database level using PostgreSQL row-level security.

Folders

Folders are top-level groups that group your subnets by purpose, location, or environment. Examples:

Folders are optional. Subnets can exist without a folder assignment.

Subnets

Subnets represent CIDR blocks in your network. They form a hierarchy: a /16 can contain multiple /24s, which can contain /28s, and so on.

Automatic nesting: When you create a new subnet, IPCraft automatically finds its parent in the tree. Adding 10.1.1.0/24 when 10.1.0.0/16 already exists will nest the /24 under the /16.

Overlap detection: IPCraft rejects subnets that partially overlap with existing ones in the same VRF. Parent/child containment is allowed; partial overlap is not.

Splitting: You can split any subnet into equal parts (powers of 2). Splitting a /24 into 4 creates four /26 subnets.

Utilization: Each subnet shows what percentage of its usable addresses are assigned. The tree view color-codes this: green (<70%), yellow (70-85%), red (>85%).

Addresses

Addresses represent individual IP assignments within a subnet. Each address tracks:

For subnets /22 and smaller, the UI shows all usable IPs with available addresses highlighted for easy assignment.

The Hierarchy

IPCraft's data model follows a natural network hierarchy:

Organization
  └── Folder (Production)
        ├── Subnet (10.0.0.0/16 — US East)
        │     ├── Subnet (10.0.1.0/24 — Web)
        │     │     ├── 10.0.1.1 — gateway-01 (Gateway)
        │     │     ├── 10.0.1.2 — web-01 (Assigned)
        │     │     ├── 10.0.1.3 — web-02 (Assigned)
        │     │     └── 10.0.1.4 — (Available)
        │     └── Subnet (10.0.2.0/24 — Database)
        └── Subnet (10.0.0.0/24 — Management)

Plan Limits

Each plan has limits on how many resources you can create:

When you hit a limit, the API returns 402 Payment Required with a message to upgrade.