Terms of Service
Last updated: March 09, 2026
The short version: Use floors.js on your sites, don't abuse the service, and I'll keep it running. One payment = yours forever. Not happy? 7-day money-back, no questions asked.
The service
floors.js ("the Service") is an embeddable script that adds real-time visitor presence, avatars, and chat to your website. It is operated by Vynse ("I", "me").
By using floors.js, you agree to these terms.
Your account
You create an account by entering your email on our site. I send you an API key. You are responsible for keeping your API key and settings link private.
What you can do
- Use floors.js on unlimited websites you own or manage
- Use it for personal projects, commercial sites, and client work
- Keep using it forever — your license never expires
What you cannot do
- Resell or redistribute the script as a standalone product
- Reverse-engineer the server infrastructure
- Abuse the service — automated spam, flooding chat, or using the WebSocket connection for purposes other than the intended visitor experience
- Use it for illegal content or to facilitate illegal activity
I reserve the right to revoke API keys that violate these terms.
License
floors.js is available as a monthly subscription ($14/month) or a one-time lifetime purchase ($99, limited offer). Both plans include:
- All features — no tiers, no restrictions
- Up to 400 concurrent visitors per site
- Unlimited sites
- All future updates
The monthly subscription can be canceled anytime. "Lifetime" means the lifetime of the product. As long as floors.js exists and operates, your license and all features remain active.
Payments and refunds
Payments are processed by DodoPayments. I do not store your payment details.
You have 7 days from purchase to request a full refund, no questions asked. Email vincent@floorsjs.com and I'll process it promptly. After 7 days, refunds are at our discretion.
Availability
I aim to keep floors.js available 24/7, but I don't guarantee 100% uptime. The service may be temporarily unavailable for maintenance or due to factors beyond our control. If the widget can't connect, your website continues to work normally — visitors just won't see the floors.js panel.
Liability
floors.js is provided "as is". I am not liable for any damages arising from the use or inability to use the service. Our total liability is limited to the amount you paid for the service.
I am not responsible for user-generated content (chat messages) sent through floors.js on your site. As the site owner, you are responsible for moderating content on your own website.
Changes to these terms
I may update these terms. Significant changes will be communicated via email to registered users. Continued use of the service after changes constitutes acceptance.
Contact
Questions about these terms? Email vincent@floorsjs.com.
Welcome to floors.js - Live Demo
Enter the building to see and chat with other visitors in real-time.