Skip to main content
Signa includes a rule-based deadline engine that computes upcoming maintenance deadlines for every registered trademark. The engine has rules defined for 21 jurisdictions (3 offices in production, 18 planned), producing actionable deadline objects with status, urgency, and consequence information.

How Deadlines Are Computed

The engine is a pure function: given a trademark’s date fields and jurisdiction, it returns an array of ComputedDeadline objects. No database access, no side effects.
computeDeadlines(mark, asOfDate?, options?) -> ComputedDeadline[]
Each computed deadline includes:
FieldDescription
typerenewal, declaration_of_use, combined_renewal_and_use, declaration_of_incontestability, restoration, international_renewal
nameHuman-readable label (e.g., “Section 8 — Declaration of Use”)
due_dateThe date the deadline falls
window_opensEarliest date you can file
grace_expiryLast day of grace period (if applicable)
statusfuture, window_open, due_soon, in_grace, missed
urgencyroutine, upcoming, critical, in_grace, overdue, missed
days_until_dueSigned integer (negative = overdue)
consequence_if_missedWhat happens if you miss it entirely

Trigger Dates

Each jurisdiction defines a trigger field — the date from which deadlines are calculated. This varies by jurisdiction:
TriggerJurisdictions
registration_dateUS (domestic), CA, PH
filing_dateEU, DE, FR, CH, BX, GB, AU, PL
protection_grant_dateUS (Madrid)
intl_registration_dateWIPO
Some jurisdictions changed their trigger field on a specific date. For example, Sweden switched from registration_date to filing_date on 2019-01-01. The engine handles this automatically based on the mark’s filing date.

US Trademark Deadlines

The United States has the most complex deadline structure of any jurisdiction, because it requires proof of continued use in addition to renewal.

US Domestic Marks

Section 8 — Declaration of Use (years 5-6)
  • Due: 6 years after registration
  • Window opens: 1 year before (year 5)
  • Grace period: 6 months (with surcharge)
  • Consequence if missed: Cancellation
  • Required for all US domestic registrations
Section 15 — Declaration of Incontestability (years 5-6)
  • Due: Eligible from year 5, commonly filed with Section 8 by year 6
  • Optional: No penalty for missing it
  • Benefit: Makes the registration conclusive evidence of validity
  • No grace period
Section 8+9 — Combined Renewal and Declaration of Use (every 10 years)
  • Due: 10 years after registration, then every 10 years
  • Window opens: 1 year before
  • Grace period: 6 months (with surcharge)
  • Consequence if missed: Cancellation and expiration

US Madrid Marks

Madrid Protocol registrations designating the US use Section 71 (the Madrid equivalent of Section 8) instead of Section 8. The trigger date is protection_grant_date instead of registration_date. Renewal is handled at WIPO, not at the USPTO.
DeadlineTriggerDueGrace
Section 71 (first)protection_grant_dateYear 66 months
Section 15protection_grant_dateYear 6None (optional)
Section 71 (at renewal)protection_grant_dateEvery 10 years6 months
# Get deadlines for a specific trademark
curl -s https://api.signa.so/v1/trademarks/tm_abc123 \
  -H "Authorization: Bearer sig_live_xxx" | jq '.deadlines'

EU Trademark Deadlines

The European Union has a simpler structure. No proof of use is required at renewal.
FieldValue
Triggerfiling_date
Renewal cycleEvery 10 years
Window opens6 months before due date
Grace period6 months after due date
ConsequenceCancellation
Proof of useNot required at renewal

Jurisdiction Quirks

Germany (DPMA) — End-of-Month Rule

For marks filed before 2019-01-14, the expiry date is the last day of the month in which the anniversary falls, not the exact anniversary date. For example, a mark filed on 2015-03-15 expires on 2025-03-31, not 2025-03-15. Marks filed on or after 2019-01-14 use the exact anniversary (standard behavior).

Canada (CIPO) — Legacy 15-Year Terms

Canada changed its trademark law on 2019-06-17:
  • Before 2019-06-17: Initial term of 15 years, renewal every 15 years
  • On or after 2019-06-17: Initial term of 10 years, renewal every 10 years
Signa applies the correct term based on the mark’s registration date.

Nordic Countries — Trigger Field Change

Sweden, Denmark, and Finland changed their trigger field from registration_date to filing_date around 2019. Norway made the same change earlier, on 2010-07-01. Signa resolves the correct trigger based on when the mark was filed.

Mexico — Post-Anniversary Windows

Mexico has a unique Declaration of Use requirement:
  • Due: 3 years after grant
  • Window opens: The day after the 3rd anniversary (not before)
  • Window duration: 3 months
This differs from most jurisdictions where the filing window opens before the due date.

Philippines — Mixed Trigger DAUs

The Philippines requires Declarations of Actual Use at years 3 and 5 after filing, each with different extension rules. The year-3 DAU has a 6-month extension option.

UK and Iceland — Restoration Periods

After the grace period expires, these jurisdictions offer an additional restoration window (6 months for UK, variable for Iceland) during which a lapsed registration can be re-established.

Covered Jurisdictions

CodeOfficeRenewal CycleTriggerProof of Use
USUSPTO (domestic)10 yearsregistration_dateYes (Sections 8, 8+9)
USUSPTO (Madrid)10 yearsprotection_grant_dateYes (Section 71)
EUEUIPO10 yearsfiling_dateNo
DEDPMA10 yearsfiling_dateNo
GBUKIPO10 yearsfiling_dateNo
CHIGE/IPI10 yearsfiling_dateNo
FRINPI10 yearsfiling_dateNo
BXBOIP10 yearsfiling_dateNo
SEPRV10 yearsfiling_date*No
CACIPO10 yearsregistration_dateNo
AUIP Australia10 yearsfiling_dateNo
NONIPO10 yearsfiling_date*No
DKDKPTO10 yearsfiling_date*No
FIPRH10 yearsfiling_date*No
ISISIPO10 yearsfiling_dateNo
PLUPRP10 yearsfiling_dateNo
THDIP10 yearsfiling_dateNo
VNIP Vietnam10 yearsfiling_dateNo
PHIPOPHL10 yearsregistration_dateYes (DAU at years 3, 5)
BRINPI Brazil10 yearsgrant_dateNo
MXIMPI10 yearsgrant_dateYes (DU at year 3)
WIPOWIPO10 yearsintl_registration_dateNo
* Changed from registration_date — SE, DK, FI around 2019; NO on 2010-07-01

Filtering by Deadlines

Use the next_deadline_before filter to find marks with upcoming deadlines:
# All marks with a deadline in the next 90 days
curl -s "https://api.signa.so/v1/trademarks?next_deadline_before=2026-06-22" \
  -H "Authorization: Bearer sig_live_xxx"
You can also filter by renewal_due_date range for renewal-specific views:
curl -s "https://api.signa.so/v1/trademarks?renewal_due_date[gte]=2026-01-01&renewal_due_date[lt]=2027-01-01" \
  -H "Authorization: Bearer sig_live_xxx"