Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Intelligent content moderation at scale

License

NotificationsYou must be signed in to change notification settings

antiwork/iffy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Iffy logoIffy logo

iffy.com |Docs

Iffy

Intelligent content moderation at scale. Keep unwanted content off your platform without managing a team of moderators.

Features:

  • Moderation Dashboard: View and manage all content moderation activity from a single place.
  • User Lifecycle: Automatically suspend users with flagged content (and handle automatic compliance when moderated content is removed).
  • Appeals Management: Handle user appeals efficiently through email notifications and a user-friendly web form.
  • Powerful Rules & Presets: Create rules to automatically moderate content based on your unique business needs.

Iffy Cloud vs Iffy Community

You may self-host Iffy Community for free, if your business has less than 1 million USD total revenue in the prior tax year, and less than 10 million USD GMV (Gross Merchandise Value). For more details, see theIffy Community License 1.0.

Here are the differences between the managed, hostedIffy Cloud and the free Iffy Community version.

Iffy CloudIffy Community
InfrastructureEasy setup. We manage everything.You set up a server and dependent services. You are responsible for installation, maintenance, upgrades, uptime, security, and service costs.
Rules/Presets9 powerful presets: Adult content, Spam, Harassment, Non-fiat currency, Weapon components, Government services, Gambling, IPTV, and Phishing2 basic presets: Adult content and Spam

Getting Started

Dependencies

Install postgres with a usernamepostgres and passwordpostgres

brew install postgresqlbrew services start postgresqlcreatedbpsql -c"CREATE USER postgres WITH LOGIN SUPERUSER PASSWORD 'postgres';"

Install dependencies:

npm i

Environment & Services

Copy.env.example to.env.local.

Generate aFIELD_ENCRYPTION_KEY:

npx @47ng/cloak generate| head -1| cut -d':' -f2| tr -d' *'

Generate aSECRET_KEY:

openssl rand -base64 32
Clerk
  1. Go toclerk.com and create a new app.
  2. Name the app anddisable all login methods except Email.
  3. Under "Configure > Email, phone, username", limit authentication strategies to "Email verification link" and "Email verification code". Turn on "Personal information > Name"
  4. Under "Configure > Restrictions", turn on "Sign-up mode > Restricted"
  5. Under "Configure > Organization Management", turn on "Enable organizations"
  6. Under "Configure > API Keys", addCLERK_SECRET_KEY andNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY to your.env.local file.
  7. Under "Organizations", create a new organization and add your email to the "Members" list.
  8. Add the organization ID to your.env.local file asSEED_CLERK_ORGANIZATION_ID.
  9. (Optional, for testing) In the Clerk dashboard, disable the "Require the same device and browser" setting to ensure tests with Mailosaur work properly.
OpenAI
  1. Create an account atopenai.com.
  2. Create a new API key atplatform.openai.com/api-keys.
  3. Add the API key to your.env.local file asOPENAI_API_KEY.
Resend (Optional, for email notifications)

In order to send email with Iffy, you will additionally need a Resend API key.

  1. Create an account atresend.com.
  2. Create and verify a new domain. Add the desired from email (e.g.no-reply@iffy.com) to your.env.local file asRESEND_FROM_EMAIL.
  3. Add the desired from name (e.g.Iffy) to your.env.local file asRESEND_FROM_NAME.
  4. Create a new API key atAPI Keys.
  5. Add the API key to your.env.local file asRESEND_API_KEY.
Shortest (Optional, for testing)

In order to write and run natural language AI tests withShortest, you will additionally need an Anthropic API key and a Mailosaur API key.

  1. Create an account atanthropic.com.
  2. Create a new API key atAccount Settings.
  3. Add the API key to your.env.local file asSHORTEST_ANTHROPIC_API_KEY.
  4. Create an account atmailosaur.com.
  5. Create a new Inbox/Server.
  6. Go toAPI Keys and create a standard key.
  7. Update the environment variables:
    • MAILOSAUR_API_KEY: Your API key
    • MAILOSAUR_SERVER_ID: Your server ID

Database

Set up the database, run migrations, and seed data:

createdb iffy_developmentnpm run dev:db:setup

Development

Run the development server:

npm run dev

Openhttp://localhost:3000 to access the app.

Jobs (Optional)

To run asynchronous jobs, you will need to set up a local Inngest server. In a separate terminal, run:

npm run dev:inngest

Testing

Start the development server

npm run dev

Start the local Inngest server (for asynchronous jobs)

npm run dev:inngest

Run API (unit) tests

npm runtest

Run app (end-to-end) tests

npm run shortestnpm run shortest -- --no-cache# with arguments

[8]ページ先頭

©2009-2025 Movatter.jp